terminal crea file (nome_file come argomenti bash) quindi scrivi testo in esso, si riferisce a .bash_profile

0

Sto usando sublime, immagino che qualsiasi editor di testo funzioni allo stesso modo. Ho appena imparato da questo modulo che l'alias non funzionerà e dovrei usare la funzione. ecco cosa mi viene in mente, in .bash_profile :

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

type sln restituisce la funzione che ho definito, in questo modo: %codice%; ma quando faccio sln is aliased to 'sublime "" | echo "'use strict';" > ""' , console dice: sln test.js Cordiali saluti: funziona quando faccio No such file or directory , e sublime test.js | echo "'use strict';" > test.js si aprirà con il testo test.js all'inizio.
Qualcuno può spiegare e offrire alcune soluzioni? Grazie.

    
posta alexcres 14.08.2016 - 22:01
fonte

2 risposte

0

Dopo aver modificato .bash_profile devi avere origine al profilo bash modificato con source ~/.bash_profile o chiudere la corrente e riaprire una nuova finestra di Terminale per fare in modo che le modifiche abbiano effetto.
AGGIORNAMENTO: avevo fatto alcuni test, ora la soluzione è sicuramente restart Terminal.app . source ~/.bash_profile per ricaricare non è sufficiente.

    
risposta data 14.08.2016 - 22:52
fonte
0

I pipe inviano l'output standard di un comando al successivo comando nella pipe che diventa input standard per quel comando. Nella tua istruzione di comando:

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

il tubo è inutile. Il prossimo comando echo non usa alcun output proveniente dalla pipe. Inoltre, gli editor di testo normalmente visualizzano il buffer che non è un output standard. Gli editor di testo eccetto gli input standard, date le opzioni e il posizionamento corretti nella pipeline. Quanto segue dovrebbe aprire un nuovo file di testo senza nome con la prima riga 'use strict';

echo "'use strict';" | sublime -
    
risposta data 16.08.2016 - 14:46
fonte

Leggi altre domande sui tag