Kuidas väljendada ekraanile teksti, kasutades Linuxi echo käsklust

See juhend näitab, kuidas väljendada teksti terminaliaknas Linuxi echo käsuga.

Terminalis kasutusel pole echo käsk eriti kasulik, kuid skripti osana saab seda kasutada juhiste, vigade ja märguannete kuvamiseks.

Näide kasutab Linuxi echo käsklust

Kõige lihtsamal kujul on lihtsam väljund tekst terminali järgmiselt:

echo "hello world"

Eespool toodud käsk väljub ekraanile sõnu " tere maailm " (välja arvatud jutumärgid).

Echo-avaldus väljastab vaikimisi stringi lõpus uue joone tähemärgi.

Selle testimiseks proovige terminali aknas järgmist avaldust:

echo "hello world" && echo "goodbye world"

Näete, et tulemus on järgmine:

Tere, Maailm
hüvasti maailm

Uue rea tähemärgi saate jätta, lisades miinus n lüliti (-n) järgmiselt:

echo -n "hello world" && echo -n "goodbye world"

Eespool toodud käsu tulemus on järgmine:

tere maailm, hüvasti maailm

Echo avalduse kasutamisel mõeldakse ka seda, kuidas see käitleb erimärke.

Näiteks proovige terminali aknas järgmist:

echo "tere maailm \ r \ ngoodbye maailm"

Ideaalses maailmas toimivad \ r ja \ n erimärgidena uue rea lisamiseks, kuid mitte. Tulemus on järgmine:

tere maailm \ r \ ngoodbye maailm

Echo käsku kasutades saate lubada erimärke, lisades -e-lülitit järgmiselt:

echo -e "tere maailm \ r \ ngoodbye maailm"

Seekord on tulemus järgmine:

Tere, Maailm
hüvasti maailm

Loomulikult võiksite olla olukorras, kus proovite väljastada stringi, mida käsitletakse erimärgina ja mida te ei soovi. Selles stsenaariumis kasutage kapitali e järgmiselt:

echo -E "tere maailm \ r \ ngoodbye maailm"

Milliseid erimärke kasutatakse, kasutades -e-lülitit?

Proovime paar neist välja. Käivitage terminalis järgmine käsk:

echo -e "hel \ blo maailm"

Eespool toodud käsu väljundiks on järgmine:

helo maailm

Loomulikult ei ole tegelikult see, mida tahaksite ekraanile väljastada, kuid saame punkti, et tagasilöögilangus b eemaldab eelmise kirja.

Nüüd proovige terminaliaknas järgmist:

echo -e "hello \ c maailm"

See käsk väljundab kõik üles kuni tagasilöögilanguseni ja c. Kõik muu on välja jäetud, sealhulgas uus joon.

Mis vahe on uue rea tähemärgi ja kärje tagastamise vahel? Uue joone kuju liigub kursori järgmisele reale, samal ajal kui kärjetugi liigub kursori vasakule küljele.

Näiteks sisestage oma terminaliaknasse järgmine:

echo -e "hello \ nworld"

Ülaloleva käsu väljund paneb kaks sõna erinevatel joontel:

Tere
maailm

Nüüd proovige seda terminaliaknas:

echo -e "hello \ rworld"

Uue rida ja kärje tagasitõmbamise vaheline erinevus muutub väga nähtavaks, kuna väljundina kuvatakse järgmine:

maailm

Ilmnes sõna hello, käru tagasitulek tõi kursori rea algusesse ja kuvatakse sõna "maailm".

See muutub natuke selgemaks, kui proovite järgmist:

echo -e "hello \ rhi"

Eespool toodud väljund on järgmine:

hillo

Tegelikult kasutavad paljud inimesed ikkagi uue rea väljastamisel märki \ r \ n. Siiski võite tihtipeale lihtsalt minna lihtsalt \ n.