echo este o comandă încorporată în shell-urile bash și C care își scrie argumentele la ieșirea standard.
Un shell este un program care furnizează linia de comandă (adică interfața utilizatorului cu afișare în întregime text) pe Linux și alte sisteme de operare similare Unix. De asemenea, execută (adică rulează) comenzi care sunt introduse în ea și afișează rezultatele. bash este shell-ul implicit pe Linux.
O comandă este o instrucțiune care îi spune unui computer să facă ceva. Un argument este datele de intrare pentru o comandă. Ieșirea standard este ecranul de afișare în mod implicit, dar poate fi redirecționat către un fișier, imprimantă etc.
Sintaxa pentru ecou este
echo
Elementele dintre paranteze sunt opționale. Un șir este orice secvență finită de caractere (adică litere, cifre, simboluri și semne de punctuație).
Când este utilizat fără opțiuni sau șiruri, ecoul returnează o linie goală pe ecranul de afișare urmată de promptul de comandă de pe linia următoare. Acest lucru se datorează faptului că apăsarea tastei ENTER este un semnal către sistem pentru a porni o nouă linie și, astfel, ecoul repetă acest semnal.
Când una sau mai multe șiruri sunt furnizate ca argumente, ecoul implicit repetă acele înțepături pe ecran. Astfel, de exemplu, introducerea textului următor și apăsarea tastei ENTER ar face ca ecoul să repete fraza Acesta este un stilou. pe ecran:
echo This is a pen.
Nu este necesar să înconjurați șirurile cu ghilimele, deoarece nu afectează ceea ce este scris pe ecran. Dacă se utilizează ghilimele (simple sau duble), acestea nu se repetă pe ecran.
Din fericire, ecoul poate face mai mult decât să repete textual ceea ce îl urmează. Adică, poate afișa, de asemenea, valoarea unei anumite variabile în cazul în care numele variabilei este precedat direct (adică, fără spații intermediare) de caracterul dolar ($), care spune shell-ului să înlocuiască valoarea variabilei cu numele său.
De exemplu, se poate crea o variabilă numită x, iar valoarea sa poate fi setată la 5 cu următoarea comandă:
x=5
Valoarea lui x poate fi reamintită ulterior prin următoarele:
echo The number is $x.
Ecoul este deosebit de util pentru afișarea valorilor mediului variabile, care spun shell-ului cum să se comporte în timp ce un utilizator lucrează la linia de comandă sau în scripturi (programe scurte).
De exemplu, pentru a vedea valoarea HOME, valoarea de mediu care arată directorul de acasă al utilizatorului curent, ar fi utilizate următoarele:
echo $HOME
De asemenea, ecoul poate fi utilizat pentru a afișa mediul PATH al unui utilizator variabilă, care conține o listă separată de două puncte a directoarelor pe care sistemul le caută pentru a găsi programul executabil corespunzător unei comenzi emise de utilizator:
echo $PATH
echo, în mod implicit, urmează orice ieșire cu un caracter de linie nouă. Acesta este un caracter neimprimabil (adică invizibil) care reprezintă sfârșitul unei linii de text și începutul următorului. Este reprezentat de \ n în sistemele de operare tip Unix. Rezultatul este că promptul de comandă ulterior începe pe o nouă linie, mai degrabă decât pe aceeași linie cu ieșirea returnată de echo.
Opțiunea -e este utilizată pentru a permite interpretarea echo a instanțelor suplimentare ale caracter newline, precum și interpretarea altor caractere speciale, cum ar fi o filă orizontală, care este reprezentată de \ t. Astfel, de exemplu, următoarele vor produce o ieșire formatată:
echo -e "\n Projects: \n\n\tplan \n\tcode \n\ttest\n"
(Comanda de mai sus ar trebui să fie scrisă pe o singură linie, deși se poate reda ca două linii pe ecrane de afișare mai mici.) Opțiunea -n poate fi utilizată pentru a opri echo de la adăugarea liniei noi la ieșire.
Utilizând redirecționarea ieșirii, ecoul oferă un mod foarte simplu de a crea un fișier nou care conține text. Acest lucru se realizează prin tastarea ecoului urmat de textul dorit, operatorul de redirecționare de ieșire (care este o paranteză unghiulară orientată spre dreapta) și, în final, numele lui t noul dosar. Fișierul poate fi formatat, de asemenea, utilizând caractere speciale. Astfel, de exemplu, ieșirea formatată din exemplul de mai sus ar putea fi utilizată pentru a crea un fișier nou numit project1:
echo -e "\n Project1: \n\n\tplan \n\twrite \n\ttest\n" > project1
Conținutul noului fișier, inclusiv orice formatare, poate fi verificat folosind o comandă precum cat sau mai puțin, adică,
less project1
ecoul poate fi, de asemenea, o modalitate convenabilă de a adăuga text la sfârșitul unui fișier, folosindu-l împreună cu operatorul de adăugare, care este reprezentat de două paranteze consecutive unghiulare orientate spre dreapta. Cu toate acestea, există întotdeauna riscul utilizării accidentale a unei singure paranteze în loc de două, suprascriind astfel tot conținutul fișierului și, prin urmare, această caracteristică este cel mai bine rezervată pentru utilizare în scripturi.
să fie utilizat cu potrivirea modelelor, cum ar fi caracterul wildcard, care este reprezentat de caracterul stea. De exemplu, următoarele ar returna sintagma Fișierele gif sunt urmate de numele tuturor fișierelor imagine .gif din directorul curent:
echo -e The gif files are *.gif
echo este, de asemenea, utilizat în mod obișnuit pentru ca un script shell să afișeze un mesaj sau instrucțiuni, cum ar fi Vă rugăm să introduceți Y sau N într-o sesiune interactivă cu utilizatorii.
ecoul este dezactivat automat când sunt introduse parolele, astfel încât acestea să nu fie afișate pe ecran.