comanda echo în Linux


Prezentare generală

în Linux, echo este una dintre cele mai de bază și utilizate pe scară largă comenzi. În acest tutorial, vom învăța comanda echo și opțiunile sale prin exemple.

care comandă echo?

cele mai moderne distribuții Linux iau bash ca shell implicit. Și majoritatea Shell-urilor implementează echo ca o Comandă încorporată — inclusiv bash, zsh, csh și ksh. Prin urmare, atunci când suntem în bash, de exemplu, comanda echo este disponibilă ca un shell încorporat.,

în acest articol, ne vom concentra pe comanda echo încorporată bash.

există o altă comandă echo din pachetul GNU coreutils, care este disponibilă și în toate distribuțiile Linux.

când lucrăm într-un terminal, în cele mai multe cazuri, vom folosi Echo builtin.pentru a vedea cele două comenzi echo, putem folosi o altă Comandă încorporată: tastați cu opțiunea-a:

$ type -a echoecho is a shell builtinecho is /usr/bin/echo

Introducere în comanda echo

comanda echo scrie text la ieșirea standard (stdout).,

sintaxa folosind comanda echo este destul de simplă:

echo STRING...

De exemplu:

$ echo "Hello World from the echo command" Hello World from the echo command

Unele obiceiuri comune de comanda echo sunt conducte shell variabilă pentru alte comenzi, scrierea textului la stdout într-un script de shell, și redirecționarea text într-un fișier.

vom vedea câteva exemple de comandă echo în secțiunile ulterioare.,o utilizare zilnică a echo este de a afișa valoarea unei variabile de mediu:

$ echo $JAVA_HOME/usr/lib/jvm/default

dacă înfășurăm variabilele shell în ghilimele duble, comanda echo va imprima valorile variabilelor. Dacă nu dorim ca o variabilă să fie convertită la valoarea sa, putem scăpa de semnul dolarului ( $ ):

$ echo "\$JAVA_HOME : $JAVA_HOME"$JAVA_HOME : /usr/lib/jvm/default

ca alternativă la scăparea semnului dolarului, putem înfășura șirul în ghilimele unice., Acest lucru este pentru că shell variabile în ghilimele simple, nu va fi extins:

$ echo '$JAVA_HOME :' $JAVA_HOME $JAVA_HOME : /usr/lib/jvm/default

Imprimare de Ieșire de o Comanda

Dacă am pus o comanda de substituție între ghilimele duble, comanda echo va imprima datele de ieșire ale comenzii de executie:

$ echo "My Linux booted at $(uptime -s)"My Linux booted at 2020-02-14 10:41:50

Omite Final Newline

în mod implicit, comanda echo va afișa un caracter newline la sfârșitul șirului., Putem spune echo pentru a omite newline trailing folosind opțiunea-n:

după cum putem vedea în ieșirea de mai sus, promptul vine imediat după ieșirea comenzii echo din cauza absenței newline trailing.

este, de asemenea, destul de la îndemână pentru a goli un fișier fără să o ștergeți folosind echo și această opțiune-n:

$ echo -n "" > /tmp/boot_history.txt$ file /tmp/boot_history.txt/tmp/boot_history.txt: empty

Imprimare Backslash-Caractere de Evacuare

în Primul rând, haideți să aruncăm o privire la un alt exemplu:

$ echo "Line 1\nLine 2\nLine 3\nvtab1\vvtab2\vvtab3"Line 1\nLine 2\nLine 3\nvtab1\vvtab2\vvtab3

În textul de mai sus, există backslash-a scăpat de caractere. Comanda echo le va imprima literalmente în mod implicit.,li>

  • \r – afișează un retur de car
  • \t – afișează un tab orizontal
  • \v – afișează o fila verticală
  • Acum, haideți să treacă opțiunea-e la echo, sa vedem ce ne va da:

    $ echo -e "Line 1\nLine 2\nLine 3\nvtab1\vvtab2\vvtab3"Line 1Line 2Line 3vtab1 vtab2 vtab3

    în Afară de a scoate acele backslash-a scăpat de caractere, putem să echo comanda de ieșire de text în culori prin trecerea ANSI secvențe escape pentru că:

    $ 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"

    Vom vedea următoarea ieșire, dacă vom executa comenzile de mai sus:

    Concluzie

    comanda echo este unul simplu, dar noi îl folosim foarte des.,

    în acest articol, am învățat câteva utilizări tipice ale comenzii echo prin exemple. Până acum, putem controla ieșirea folosind diferite opțiuni.

    știm cum să obținem o ieșire colorată folosind și comanda echo.

    Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *