L'echo
command è uno dei comandi più basilari e usati di frequente in Linux. Gli argomenti passati a echo
vengono stampati sullo standard output.
echo
è comunemente usato negli script della shell per visualizzare un messaggio o produrre 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.
C'è anche un /usr/bin/echo
autonomo utility, ma di solito la versione incorporata della shell avrà la precedenza. Tratteremo la versione incorporata di Bash di echo
.
La sintassi per echo
il comando è il seguente:
echo [-neE] [ARGUMENTS]
- Quando il
-n
viene utilizzata, la nuova riga finale viene soppressa. - Se il
-e
viene fornita l'opzione, verranno interpretati i seguenti caratteri con escape barra rovesciata:\\
- Visualizza un carattere barra rovesciata.\a
- Avviso (BEL)\b
- Visualizza un carattere backspace.\c
- Sopprimi ogni ulteriore output\e
- Visualizza un carattere di escape.\f
- Visualizza un carattere feed modulo.\n
- Visualizza una nuova riga.\r
- Visualizza un ritorno a capo.\t
- Visualizza una scheda orizzontale.\v
- Visualizza una scheda verticale.
- Il
-E
l'opzione disabilita l'interpretazione dei caratteri di escape. Questa è l'impostazione predefinita.
Ci sono alcuni punti da considerare quando si usa echo
comando.
- La shell sostituirà tutte le variabili, i caratteri jolly e i caratteri speciali prima di passare gli argomenti a
echo
comando. - Sebbene non sia necessario, è buona pratica di programmazione racchiudere gli argomenti passati a
echo
tra virgolette doppie o singole. - Quando si utilizzano virgolette singole
''
il valore letterale di ogni carattere racchiuso tra le virgolette verrà mantenuto. Variabili e comandi non verranno espansi.
echo
Esempi #
Gli esempi seguenti mostrano come utilizzare il comando echo:
-
Visualizza una riga di testo sull'output standard.
echo Hello, World!
Hello, World!
-
Visualizza una riga di testo contenente una doppia virgoletta.
Per stampare una virgoletta doppia, racchiudila tra virgolette singole o esci con il carattere barra rovesciata.
echo 'Hello "Linuxize"'
echo "Hello \"Linuxize\""
Hello "Linuxize"
-
Visualizza una riga di testo contenente una singola citazione.
Per stampare una virgoletta singola, racchiuderla tra virgolette doppie o utilizzare le virgolette ANSI-C.
echo "I'm a Linux user."
echo $'I\'m a Linux user.'
I'm a Linux user.
-
Mostra un messaggio contenente caratteri speciali.
Usa il
-e
opzione per abilitare l'interpretazione dei caratteri di escape.echo -e "You know nothing, Jon Snow.\n\t- Ygritte"
You know nothing, Jon Snow. - Ygritte
-
Caratteri corrispondenti al modello.
L'
echo
comando può essere utilizzato con caratteri di corrispondenza dei modelli, come i caratteri jolly. Ad esempio, il comando seguente restituirà i nomi di tutti i.php
file nella directory corrente.echo The PHP files are: *.php
The PHP files are: index.php contact.php functions.php
-
Reindirizza a un file
Invece di visualizzare l'output sullo schermo, puoi reindirizzarlo a un file utilizzando il
>
,>>
operatori.echo -e 'The only true wisdom is in knowing you know nothing.\nSocrates' >> /tmp/file.txt
Se il file.txt non esiste, il comando lo creerà. Quando si utilizza
>
il file verrà sovrascritto, mentre il>>
aggiungerà l'output al file.Usa il
cat
comando per visualizzare il contenuto del file:cat /tmp/file.txt
The only true wisdom is in knowing you know nothing. Socrates
-
Visualizzazione delle variabili
echo
può anche visualizzare variabili. Nell'esempio seguente, stamperemo il nome dell'utente attualmente connesso:echo $USER
linuxize
$USER
è una variabile di shell che contiene il tuo nome utente. -
Visualizzazione dell'output di un comando
Usa il
$(command)
espressione per includere l'output del comando inecho
l'argomento di. Il comando seguente visualizzerà la data corrente:echo "The date is: $(date +%D)"
The date is: 04/17/19
-
Visualizzazione a colori
Usa le sequenze di escape ANSI per cambiare i colori di primo piano e di sfondo o per impostare le proprietà del testo come il trattino basso e il 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 #
A questo punto, dovresti avere una buona comprensione di come echo
il comando funziona.
Se hai domande o feedback, sentiti libero di lasciare un commento.