Differenza tra 'echo' ed 'echo -e' [chiuso]


25

Qual è la differenza tra echoe echo -e? Quali virgolette ("" o '') dovrebbero essere usate con il comando echo? cioè: echo "Print statement"o echo 'Print statement'? Inoltre, quali sono le opzioni disponibili che è possibile utilizzare insieme echo?


3
Quale shell? echo -enon è definito da POSIX e probabilmente varia in base alla shell.
Giordania,

Questo risponde alla tua domanda? unix.stackexchange.com/questions/65803/…
dhag

2
usare man echoper leggere il manuale di echo.
tata

echo non esegue i suoi argomenti come comandi, ma solo ... li echo
Anthon,

Risposte:


33

echoda solo visualizza una riga di testo. Prende qualsiasi cosa tra le seguenti "..."virgolette, letteralmente, e stampa così com'è. Tuttavia echo -e, stai facendo echoabilitare l'interpretazione delle escape di barra rovesciata. Quindi, con questo in mente, ecco alcuni esempi

INPUT: echo "abc\n def \nghi" 
OUTPUT:abc\n def \nghi

INPUT: echo -e "abc\n def \nghi"
OUTPUT:abc
 def 
ghi

Nota: \n è una nuova riga, ovvero un ritorno a capo. Se vuoi sapere quali altre sequenze sono riconosciute dal echo -etipo nel man echotuo terminale.


2
echoè integrato nella maggior parte delle shell. man echopiacerà invece documentare il echocomando standalone.
Stéphane Chazelas,

Stai descrivendo il comportamento di GNU echoo della shell GNU echoquando non è in modalità di conformità Unix. Altrove, il comportamento sarà in genere diverso.
Stéphane Chazelas,

3

Nella maggior parte degli SHELL non è echopossibile eseguire la sequenza di escape ( \n \t). Dove echo -epossibile

echo -e " This is \n an \t example"

Le virgolette singole e le virgolette doppie servono principalmente per gestire i problemi di interpolazione. Puoi trovare maggiori dettagli qui, Perché l'eco ignora i miei caratteri di citazione?


È il contrario. Nella maggior parte delle shell (ksh88, ksh93, pdksh, mksh, Bourne, zsh, dash, bash e sh di tutti i sistemi compatibili con Unix, alcuni come ksh93 o bash solo in alcuni ambienti) echoespande le sequenze di escape. Una echorealizzazione che accetta -enon è conforme a POSIX.
Stéphane Chazelas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.