Introduzione
Il comando echo
è uno dei comandi più basilari e usati di frequente in Linux. Gli argomenti passati echo
vengono stampati sull'output standard.
echo
viene comunemente utilizzato negli script di shell per visualizzare un messaggio o generare i risultati di altri comandi.
Comando echo
echo
è una shell integrata in Bash e nella maggior parte delle altre shell popolari come Zsh e Ksh. Il suo comportamento è leggermente diverso da shell a shell.
Esiste anche /usr/bin/echo
un'utility autonoma , ma in genere la versione integrata della shell avrà la precedenza. Tratteremo la versione integrata di Bash di echo
.
La sintassi per il comando echo
è la seguente:
echo [-neE] [ARGUMENTS]
- Quando viene utilizzata l' opzione
-n
, la nuova riga finale viene soppressa. - Se viene fornita l'opzione
-e
, verranno interpretati i seguenti caratteri con escape backslash: \\
- Visualizza un carattere barra rovesciata.\a
- Avviso (BEL)\b
- Visualizza un carattere backspace.\c
- Sopprime qualsiasi ulteriore output\e
- Visualizza un carattere di escape.\f
- Visualizza un carattere di feed del modulo.\n
- Visualizza una nuova riga.\r
- Visualizza un ritorno a capo.\t
- Visualizza una scheda orizzontale.\v
- Visualizza una scheda verticale.- L'opzione
-E
disabilita l'interpretazione dei caratteri di escape. Questo è il valore predefinito.
Ci sono alcuni punti da considerare quando si utilizza il comando echo
.
- La shell sostituirà tutte le variabili, i caratteri jolly e i caratteri speciali prima di passare gli argomenti al comando
echo
. - Sebbene non sia necessario, è buona prassi di programmazione racchiudere gli argomenti passati
echo
tra virgolette doppie o singole. - Quando si usano virgolette singole,
''
il valore letterale di ciascun carattere racchiuso tra virgolette verrà conservato. Variabili e comandi non verranno espansi.
Esempi del comando Echo
I seguenti esempi mostrano come usare il comando echo.
Per visualizzare una riga di testo sull'output standard:
echo Hello, World!
Hello, World!
Per stampare una doppia citazione, racchiuderla tra virgolette singole o sfuggirla al carattere barra rovesciata.
echo 'Hello "Noviello"'
echo "Hello \"Noviello\""
Hello "Noviello"
Per visualizzare una riga di testo contenente una virgoletta singola racchiuderla tra virgolette doppie o utilizzare la quotazione ANSI-C.
echo "I'm a Linux user."
echo $'I\'m a Linux user.'
I'm a Linux user.
Per visualizzare un messaggio contenente caratteri speciali utilizzare l'opzione -e
per abilitare l'interpretazione dei caratteri di escape.
echo -e "Hello, Noviello.\n\t- Hello"
Hello, Noviello.
- Hello
Il comando echo
può essere utilizzato con caratteri di corrispondenza dei motivi, come i caratteri jolly. Ad esempio, il comando seguente restituirà i nomi di tutti i file .php
nella directory corrente.
echo The PHP files are: *.php
The PHP files are: index.php contact.php functions.php
Per reindirizzare a un file invece di visualizzare l'output sullo schermo, è possibile utilizzare gli operatori >
, >>
.
echo -e 'Hello.\nNoviello' >> /tmp/file.txt
Se il file.txt non esiste, il comando lo creerà. Quando si utilizza >
il file verrà sovrascritto, mentre >>
verrà aggiunto l'output al file.
Utilizzare il comando cat
per visualizzare il contenuto del file:
cat /tmp/file.txt
Hello.
Noviello
echo
può anche visualizzare variabili. Nel seguente esempio, stamperemo il nome dell'utente attualmente connesso:
echo $USER
noviello
$USER
è una variabile shell che contiene il tuo nome utente.
Per visualizzare dell'output di un comando echo
usa l'espressione $(command)
. Il seguente comando visualizzerà la data corrente :
echo "The date is: $(date +%D)"
The date is: 01/13/19
Utilizzare le sequenze di escape ANSI per modificare i colori di foreground e di background o impostare proprietà di testo come trattino basso e grassetto.
echo -e "\033[1;37mWHITE"
echo -e "\033[0;30mBLACK"
echo -e "\033[0;34mBLUE"
echo -e "\033[0;32mGREEN"
echo -e "\033[0;36mCYAN"
echo -e "\033[0;31mRED"
echo -e "\033[0;35mPURPLE"
echo -e "\033[0;33mYELLOW"
echo -e "\033[1;30mGRAY"
Conclusione
Dovresti avere una buona comprensione di come funziona il comando echo
.