Voglio eseguire questo comando:
ls -arth Test*log | tail -1
... e passa il suo output come argomento a:
open /Applications/Utilities/Console.app <previous output>
Vorrei fare tutto questo in una riga.
Voglio eseguire questo comando:
ls -arth Test*log | tail -1
... e passa il suo output come argomento a:
open /Applications/Utilities/Console.app <previous output>
Vorrei fare tutto questo in una riga.
Risposte:
Questo è noto come sostituzione dei comandi :
open /Applications/Utilities/Console.app "$(ls -arth Test*log | tail -1)"
Se si è certi che l'output del comando che si sta sostituendo non conterrà spazi o newline (o se si desidera fornire l'output separato da spazio / newline come argomenti multipli), è possibile omettere le virgolette:
open /Applications/Utilities/Console.app $(ls -arth Test*log | tail -1)
open -a Console "$(ls -t Test*log | head -n1)"
. open /Applications/Utilities/Console.app "$(ls -arth Test*log | tail -1)"
apre Console.app e il file nell'applicazione predefinita. POSIX ha annullato le opzioni solo numeriche per la testa e la coda.
Questo è abbastanza semplice
open /Applications/Utilities/Console.app `ls -arth Test*log | tail -1`
Qualsiasi comando incluso tra accenti gravi verrà eseguito in un nuovo ambiente bash, uscirà dopo l'esecuzione e si sostituirà con il suo risultato
Se eseguo un semplice comando "ls" con accenti gravi attorno alla mia cartella home ottengo un tale errore:
john@ship:~$ `ls`
Desktop: command not found
Ciò significa che bash tenta di eseguire il valore restituito fino al delimitatore corretto come comando
Ecco un altro esempio per chiarire questa tecnica confusa:
john@ship:~$ `echo "ls -l"`
total 36
drwxr-xr-x 2 john john 4096 Jul 27 19:43 Desktop
drwxr-xr-x 2 john john 4096 Jul 27 19:43 Documents
drwxr-xr-x 2 john john 4096 Aug 2 22:04 Downloads
drwxr-xr-x 7 john john 4096 Aug 2 19:28 Music
drwxr-xr-x 2 john john 4096 Aug 2 10:49 Pictures
drwxrwxr-x 3 john john 4096 Jul 28 22:21 Projects
drwxr-xr-x 2 john john 4096 Jul 27 19:43 Public
drwxr-xr-x 2 john john 4096 Jul 27 19:43 Templates
drwxr-xr-x 2 john john 4096 Jul 27 19:43 Videos