Panoramica
In Linux, echo è uno dei comandi più basilari e ampiamente utilizzati. In questo tutorial, impareremo il comando echo e le sue opzioni attraverso esempi.
Quale comando echo?
La maggior parte delle moderne distribuzioni Linux prende bash come shell predefinita. E la maggior parte delle shell implementa echo come comando integrato, inclusi bash, zsh, csh e ksh. Pertanto, quando siamo in bash, ad esempio, il comando echo è disponibile come shell integrata.,
In questo articolo, ci concentreremo sul comando eco integrato bash.
C’è un altro comando echo dal pacchetto GNU coreutils, che è disponibile anche in tutte le distribuzioni Linux.
Quando stiamo lavorando in un terminale, nella maggior parte dei casi, useremo l’eco incorporato.
Per vedere i due comandi echo, possiamo usare un altro comando incorporato: digitare con l’opzione-a:
$ type -a echoecho is a shell builtinecho is /usr/bin/echo
Introduzione al comando echo
Il comando echo scrive il testo sullo standard output (stdout).,
La sintassi dell’uso del comando echo è piuttosto semplice:
echo STRING...
Ad esempio:
$ echo "Hello World from the echo command" Hello World from the echo command
Alcuni usi comuni del comando echo sono la piping della variabile shell ad altri comandi, la scrittura di testo su stdout in uno script di shell e il reindirizzamento del testo in un file.
Vedremo alcuni altri esempi del comando echo nelle sezioni successive.,
Stampa valori variabili
Un uso quotidiano di echo è quello di visualizzare il valore di una variabile di ambiente:
$ echo $JAVA_HOME/usr/lib/jvm/default
Se avvolgiamo le variabili di shell tra virgolette, il comando echo stamperà i valori delle variabili. Se non vogliamo che una variabile venga convertita nel suo valore, possiamo sfuggire al segno dollar ( $ ):
$ echo "\$JAVA_HOME : $JAVA_HOME"$JAVA_HOME : /usr/lib/jvm/default
In alternativa all’escape del simbolo dollar, possiamo avvolgere la stringa tra virgolette singole., Questo perché le variabili di shell virgolette non sarà ampliato:
$ echo '$JAVA_HOME :' $JAVA_HOME $JAVA_HOME : /usr/lib/jvm/default
Stampare l’Output di un Comando
Se mettiamo una sostituzione di comando all’interno di virgolette, il comando echo stampa l’output del comando di esecuzione:
$ echo "My Linux booted at $(uptime -s)"My Linux booted at 2020-02-14 10:41:50
Omettere il Newline
per impostazione predefinita, il comando echo sarà in uscita un carattere di nuova riga alla fine della stringa., Possiamo dire a echo di omettere la nuova riga finale usando l’opzione-n:
Come possiamo vedere nell’output sopra, il prompt arriva immediatamente dopo l’output del comando echo a causa dell’assenza della nuova riga finale.
È anche abbastanza utile svuotare un file senza eliminarlo usando echo e questa opzione-n:
$ echo -n "" > /tmp/boot_history.txt$ file /tmp/boot_history.txt/tmp/boot_history.txt: empty
Stampa caratteri Backslash-Escape
Per prima cosa, diamo un’occhiata ad un altro esempio:
$ echo "Line 1\nLine 2\nLine 3\nvtab1\vvtab2\vvtab3"Line 1\nLine 2\nLine 3\nvtab1\vvtab2\vvtab3
Nel testo sopra, ci sono caratteri con escape backslash. Il comando echo li stamperà letteralmente per impostazione predefinita.,li>
Ora, passiamo l’opzione-e di eco, vedere che cosa ci darà:
$ echo -e "Line 1\nLine 2\nLine 3\nvtab1\vvtab2\vvtab3"Line 1Line 2Line 3vtab1 vtab2 vtab3
Tranne che per l’output di tali preceduti da backslash caratteri, ci si può permettere di comando echo testo di output a colori, passando sequenze di escape ANSI a:
$ echo -e "\033[0;32mINFO In Green \033[0m"$ echo -e "\033[0;33mWARN In Yellow \033[0m"$ echo -e "\033[0;31mERROR In Red \033[0m"
vedremo il seguente output se eseguiamo i comandi di cui sopra:
Conclusione
Il comando echo è semplice, ma la usiamo molto spesso.,
In questo articolo, abbiamo imparato alcuni usi tipici del comando echo attraverso esempi. Ormai, siamo in grado di controllare l’output utilizzando varie opzioni.
Sappiamo come ottenere un output colorato usando anche il comando echo.