terminal crear archivo (nombre_archivo como argumentos bash) luego escribir texto en él, relacionado con .bash_profile

0

Estoy usando sublime, creo que cualquier editor de texto funciona igual. Acabo de aprender de esta forma que el alias no funcionará y debería usar la función. Esto es lo que se me ocurre, en .bash_profile :

function sln() {
    sublime "$1" | echo "'use strict';" > "$1";
}

type sln devuelve la función que he definido, como esta: %código%; pero cuando hago sln is aliased to 'sublime "" | echo "'use strict';" > ""' , la consola dice: sln test.js FYI: funciona cuando hago No such file or directory , y sublime test.js | echo "'use strict';" > test.js se abrirá con el texto test.js al principio.
¿Alguien puede explicar y ofrecer algunas soluciones? Gracias.

    
pregunta alexcres 14.08.2016 - 22:01

2 respuestas

0

Después de modificar .bash_profile, debe obtener el perfil de bash modificado con source ~/.bash_profile o cerrar la actual y volver a abrir una nueva ventana de Terminal para que los cambios surtan efecto.
ACTUALIZACIÓN: había hecho algunas pruebas, ahora la solución es definitivamente reiniciar Terminal.app . source ~/.bash_profile para recargar no es suficiente.

    
respondido por el alexcres 14.08.2016 - 22:52
0

Las tuberías envían la salida estándar de un comando al siguiente comando en la tubería que se convierte en entrada estándar para ese comando. En su declaración de comando:

 sublime "$1" | echo "'use strict';" > "$1";

la tubería es inútil. El siguiente comando echo no usa ninguna salida que llegue a través de la tubería. Los editores de texto Plus normalmente muestran el búfer que no es una salida estándar. Los editores de texto, excepto la entrada estándar, tendrán las opciones adecuadas y la ubicación en la tubería. Lo siguiente debe abrir un nuevo archivo de texto sin nombre con la primera línea 'use strict';

echo "'use strict';" | sublime -
    
respondido por el fd0 16.08.2016 - 14:46

Lea otras preguntas en las etiquetas