Väljastage tekst ekraanile, kasutades käsku Linux Echo

See juhend näitab teile, kuidas teksti väljastada terminali aken kasutades Linux kaja käsk.

Terminalis eraldi kasutatav käsk kaja pole eriti kasulik, kuid skripti osana saab seda kasutada juhiste, vigade ja teatiste kuvamiseks.

Linuxi kajakäsu kasutamise näited

Lihtsamal kujul on lihtsaim viis teksti terminali väljastamiseks järgmine:

kaja "tere maailm"

Ülaltoodud käsk väljastab sõnad "Tere, Maailm" ekraanile (miinus jutumärgid).

Linuxi kaja põhiväljund

Vaikimisi väljastab kajalause stringi lõpus uue reamärgi.

Selle testimiseks proovige terminaliaknas järgmist lauset:

echo "tere maailm" && echo "hüvasti maailm"

Näete, et tulemus on järgmine:

Tere, Maailm
hüvasti maailm

Uue reamärgi saate välja jätta, lisades miinus n lüliti (-n) järgmiselt:

echo -n "tere maailm" && echo "hüvasti maailm"
Linuxi kaja ilma uue reata

Ülaltoodud käsu tulemus on järgmine:

tere maailm hüvasti maailm

Erimärkide kasutamine

Teine asi, millele kajalause kasutamisel mõelda, on see, kuidas see käsitleb erimärke.

Linuxi kaja erimärkidega

Näiteks proovige terminaliaknas järgmist.

echo "tere maailm\r\nhüvasti maailm"

Ideaalses maailmas toimiksid \r ja \n erimärkidena uue rea lisamiseks, kuid nad seda ei tee. Tulemus on järgmine:

tere maailm\r\nhüvasti maailm

Saate lubada erimärgid, kasutades käsku echo, lisades lüliti -e järgmiselt:

echo -e "tere maailm\r\nhüvasti maailm"

Seekord on tulemus järgmine:

Tere, Maailm
hüvasti maailm

Muidugi võite olla olukorras, kus proovite väljastada stringi, mida käsitletakse erimärgina, kuid te ei soovi seda teha. Selle stsenaariumi korral kasutage suurtähte e järgmiselt:

echo -E "tere maailm\r\nhüvasti maailm"

Milliseid erimärke käsitletakse lülitiga -e?

  • \\ kaldkriips
  • \a hoiatus
  • \b tagasilükkeklahv
  • \c ei tooda enam väljundit
  • \e põgeneda
  • \f vormivoog
  • \n uus rida
  • vankri tagastus
  • \ t horisontaalne vahekaart
  • \v vertikaalne vahekaart
  • \ 0NNN kaheksandväärtus 1 kuni 3 numbriga
  • \xHH bait kuueteistkümnendsüsteemi väärtusega
Linux kaja teiste erimärkidega

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

echo -e "hel\blo world"

Ülaltoodud käsk väljastaks järgmise:

tere maailm

Ilmselgelt pole see tegelikult see, mida soovite ekraanile väljastada, kuid saate aru, et kaldkriips b eemaldab eelneva tähe.

Proovige nüüd terminaliaknas järgmist:

echo -e "tere\c maailm"

See käsk väljastab kõik kuni kaldkriipsuni ja c. Kõik muu on välja jäetud, sealhulgas uus rida.

Rea tähemärk ja käru tagastus

Mis vahe on siis uue rea tähemärgil ja vankri tagasisaatmisel? Uus rea märk viib kursori alla järgmisele reale, samas kui käru tagasiviimine viib kursori tagasi vasakule küljele.

Linuxi kaja tagasituleku ja uue reaga

Näiteks sisestage terminali aknasse järgmine tekst:

echo -e "tere\nmaailm"

Ülaltoodud käsu väljund paneb need kaks sõna erinevatele ridadele:

Tere
maailmas

Nüüd proovige seda terminaliaknas:

echo -e "tere\rmaailm"

Erinevus uue rea ja käru tagastuse vahel on väga selge, kuna väljundina kuvatakse järgmine:

maailmas

Kuvati sõna tere, käru tagasi viis kursori rea algusesse ja kuvati sõna maailm.

See muutub veidi selgemaks, kui proovite järgmist.

echo -e "tere\rhi"

Ülaltoodu väljund on järgmine:

Tere. 

Tegelikkuses kasutavad paljud inimesed siiski uuele reale väljastamisel tähistust \r\n. Üsna sageli pääsete siiski vaid \n-ga.