Kuidas kasutada käsku Echo Linuxis

The kaja käsk sobib vormindatud teksti kirjutamiseks terminaliaknasse. Ja see ei pea olema staatiline tekst. See võib sisaldada shellimuutujaid, failinimesid ja katalooge. Samuti saate kaja suunata tekstifailide ja logifailide loomiseks. Kuidas teada saada, järgige seda lihtsat juhendit.

Kaja kordab seda, mida kordama ütlete

Zeus soovis lahkuda Olümpose mäelt kaunite nümfidega kooselus. Ühel reisil ütles ta Echole kutsutud mäenümfile, et ta paneks oma naise Herale järele, kui naine talle järele tuleks. Hera tuli tõepoolest Zeusi otsima ja Echo tegi kõik, et Herat vestluses hoida. Lõpuks kaotas Hera tuju ja kirus vaest Echot, nii et ta kordas ainult viimaseid sõnu, mille keegi teine ​​oli öelnud. Seda, mida Hera Zeusiga temale järele jõudis, tegi keegi.

Ja see on üsna palju kajaElus palju. See kordab seda, mida on kästud korrata. See on lihtne, kuid oluline funktsioon. Ilma kaja , ei oleks meil võimalik saada näiteks shelliskriptide nähtavat väljundit.

Kuigi see pole koormatud paljude kellade ja viledega, on see hea võimalus kaja on mõned võimalused, millest te ei teadnud või mille olete unustanud.

kaja? kaja!

Enamik Linuxi süsteeme pakuvad kahte versiooni kaja. Bashi kestal on oma kaja sisse ehitatud ja seal on binaarne käivitatav versioon kaja samuti.

Näeme kahte erinevat versiooni, kasutades järgmisi käske:

tüüpi kaja
kus on kaja

The tüüp käsk ütleb meile, kas käsk, mille selle argumendina edastame, on sisseehitatud kest, binaarne käivitatav fail, varjunimi või funktsioon. See annab meile sellest teada kaja on sisseehitatud kest.

Niipea kui see on vastuse leidnud, tüüp lõpetab uute matšide otsimise. Nii et see ei ütle meile, kas süsteemis on muid samanimelisi käske. Kuid see ütleb meile, kumba leiab esimesena. Ja seda kasutatakse vaikimisi, kui selle käsu väljastame.

The kus on command otsib selle käsurea parameetrina käsku, mille me talle edastame, binaarse käivitatava faili, lähtekoodi ja manulehe. See ei otsi sisseehitatud shellielemente, kuna neil pole eraldi binaarset käivitatavat faili. Need on Bashi käivitatava faili lahutamatu osa.

The kus on käsk teatab sellest kaja on binaarne käivitatav fail, mis asub / bin kataloogi.

Selle versiooni kasutamiseks kaja peate seda selgesõnaliselt kutsuma, pakkudes käsureal käivitatava faili tee:

/ bin / echo --versioon

Sisseehitatud kest ei tea, mis see on --versioon käsurea argument on see, et see lihtsalt kordab seda terminaliaknas:

kaja --versioon

Siin näidatud näited kasutavad kõiki versiooni kaja, Bashi kestas.

Teksti kirjutamine terminali

Lihtsa tekstistringi kirjutamiseks terminaliaknasse tippige kaja ja string, mida soovite kuvada:

kaja Minu nimi on Dave.

Teksti korratakse meie jaoks. Kuid katsetades avastate varsti, et asjad võivad veidi keerulisemaks muutuda. Vaadake seda näidet:

kaja Minu nimi on Dave ja ma olen geek.

Terminaliaknas kuvatakse a> märk ja istub seal ootamas. Ctrl + C tagastab teid käsureale. Mis seal juhtus?

Ainus tsitaat või apostroof sõnas “ma olen” segaduses kaja. See tõlgendas seda ühte tsitaati tsiteeritud tekstiosa algusena. Kuna see ei tuvastanud sulgevat üksikut pakkumist,kaja ootas rohkem sisendit. Ta eeldas, et täiendav sisend puuduva ühe tsitaadi lisamiseks, mida ta ootas.

Ühe tsitaadi lisamiseks stringi on kõige lihtsam lahendus mähkida kogu string topelt jutumärkidesse:

kaja "Minu nimi on Dave ja ma olen geek."

Teksti pakkimine jutumärkidesse on hea üldine nõuanne. Skriptides piiritleb see puhtalt parameetrid, millele edastate kaja. See muudab skriptide lugemise ja silumise palju lihtsamaks.

Mis siis, kui soovite oma tekstistringi lisada topelttsiteerimise märgi? See on lihtne, piisab tagasilöögi lisamisest \ topelt jutumärgi ees (nende vahel pole tühikut).

kaja "Minu nimi on Dave ja ma olen" geek "." "

See mähib sõna „geek” meie jaoks topeltjutumärkidesse. Näeme neid rohkem tagurpidi-põgenenud tähemärki varsti.

Muutujate kasutamine kajaga

Siiani oleme terminaliaknasse kirjutanud etteantud teksti. Muutujaid saame kasutada koos kaja toota väljundit, mis on dünaamilisem ja mille kest on meie jaoks sisestatud. Selle käsuga saame määratleda lihtsa muutuja:

my_name = "Dave"

Muutuja nimega minu nimi on loodud. Sellele on määratud teksti „Dave“ väärtus. Muutuja nime saame kasutada stringides, millele me edasi anname kaja ja muutuja väärtus kirjutatakse terminaliaknasse. Peate panema dollarimärgi $ muutuja nime ees lasta kaja tean, et see on muutuja.

On hoiatus. Kui olete oma stringi pakkinud jutumärkidesse kaja kohtleb kõike sõna otseses mõttes. Muutuja omamiseks väärtus ja mitte nimi muutuja kohta kasutage topelt jutumärke.

echo 'Minu nimi on $ my_name'
kaja "Minu nimi on $ my_name"

Mõnevõrra tabavalt tasub seda korrata:

  • Kasutamine üksik jutumärkide tulemuseks on teksti kirjutamine terminaliaknasse a sõna otseses mõttes mood.
  • Kasutaminetopelt jutumärkide tulemusel tõlgendatakse muutujat - nimetatakse ka muutuja laienduseks - ja väärtus kirjutatakse terminaliaknasse.

SEOTUD:Kuidas töötada muutujatega Bashis

Käskude kasutamine kajaga

Saame kasutada käsku kaja ja lisage oma väljund terminaliaknasse kirjutatavasse stringi. Peame kasutama dollarimärki $ nagu oleks käsk olnud muutuja, ja pakkige kogu käsk sulgudesse.

Kasutame käsku kuupäev. Üks näpunäide on kasutada käsku iseseisvalt, enne kui hakkate seda kasutama kaja. Sel viisil, kui teie käsu süntaksis on midagi valesti, tuvastate selle ja parandate enne, kui lisate selle käsu kaja käsk. Siis, kui kaja käsk ei tee seda, mida ootate, teate, et probleem peab olema kaja süntaks, sest olete juba käsu süntaksit tõestanud.

Proovige seda terminaliaknas:

kuupäev +% D

Ja olles rahul, et saame kuupäeva käsku oodatust, integreerime selle ka kaja käsk:

kaja "Tänane kuupäev on: $ (kuupäev +% D)"

Pange tähele, et käsk on sulgudes ja dollarimärgis $ on vahetult enne esimest sulgu.

Teksti vormindamine kajaga

The -e (võimaldada tagasilöögi eemaldamine) võimaldab meil teksti paigutuse muutmiseks kasutada mõnda tagasilöögiga põgenenud tähemärki. Need on tagasilöögiga põgenenud tähemärgid, mida saame kasutada:

  • \ a: Hoiatus (ajalooliselt tuntud kui BEL). See genereerib vaikimisi hoiatusheli.
  • \ b: Kirjutab tagasilükkamise märgi.
  • \ c: Loobub edaspidisest väljundist.
  • \ e: Kirjutab põgenemistegelase.
  • \ f: Kirjutab vormivoo märgi.
  • \ n: Kirjutab uue rea.
  • \ r: Kirjutab tagasivedu.
  • \ t: Kirjutab horisontaalse vahelehe.
  • \ v: Kirjutab vertikaalse vahelehe.
  • \\: Kirjutab tagasilöögi.

Kasutame mõnda neist ja vaatame, mida nad teevad.

echo -e "See on pikk tekstirida \ njagatud kolmes reas \ ntk ttabs \ ton \ tththththth \ rida"

Tekst on jagatud uueks reaks, kus oleme seda kasutanud \ n tähemärki ja sinna lisatakse vaheleht, kus oleme \ t tähemärki.

echo -e "Siin \ vare \ vvertical \ vtabs"

Nagu \ n uued reamärgid, vertikaalne vaheleht \ v teisaldab teksti allolevale reale. Kuid erinevalt\ n uued reamärgid, \ v vertikaalne sakk ei alusta uut joont nullist. See kasutab praegust veergu.

The \ b tagasilükkeklahvid viivad kursori ühe märgi võrra tagasi. Kui terminali tuleb kirjutada rohkem teksti, kirjutab see tekst eelmise tähemärgi üle.

kaja -e "123 \ b4"

“3” on “4” üle kirjutatud.

The \ r vankri tagastamise märk põhjustabkaja praeguse rea algusesse naasmiseks ja mis tahes täiendava teksti kirjutamiseks veerust null.

kaja -e "123 \ r456"

“123” tähemärgid kirjutatakse üle “456” tähemärkidega.

The \ a hoiatusmärk tekitab kuuldava piiksu. See kasutab teie praeguse teema jaoks vaikehoiatuse heli.

echo -e "Tee piiks \ a"

The -n (pole uut rida) ei ole tagasilöögiga eemaldatud järjestus, kuid see mõjutab tekstipaigutuse kosmeetikat, nii et me arutame seda siin. See takistab kaja alates uue rea lisamisest teksti lõppu. Käsuviip ilmub kohe pärast terminaliaknasse kirjutatavat teksti.

kaja -n "lõplikku uut rida pole"

Kaja kasutamine failide ja kataloogidega

Sa võid kasutada kaja omamoodi vaese mehe versioonina ls. Kasutamise ajal on teie võimalusi vähe kaja nagu nii. Kui vajate mingisugust truudust või täpset kontrolli, siis on parem kasutada ls ja selle valik võimalusi.

See käsk loetleb kõik praeguses kataloogis olevad failid ja kataloogid:

kaja *

See käsk loetleb kõik praeguses kataloogis olevad failid ja kataloogid, mille nimi algab tähega “D”:

kaja D *

See käsk loetleb kõik praeguses kataloogis olevad .desktop-failid:

kaja * .laud

Jah. Seda ei mängita kajaTugevused. Kasutage ls.

Failidesse kirjutamine kajaga

Saame väljundi suunata aadressilt kaja ja kas luua tekstifaile või kirjutada olemasolevatesse tekstifailidesse.

Kui me kasutame > ümbersuunamisoperaator, luuakse fail, kui seda pole olemas. Kui fail on olemas, siis väljund failist kaja lisatakse faili alguses, kirjutades üle kogu varasema sisu.

Kui me kasutame >> ümbersuunamisoperaator, luuakse fail, kui seda pole olemas. Väljund kaja lisatakse faili lõppu ega kirjuta faili olemasolevat sisu üle.

kaja "Uue faili loomine." > sample.txt
kaja "Faili lisamine." >> sample.txt
kassi proov.txt

Esimese käsuga luuakse uus fail ja sinna lisatakse tekst. Teine käsk lisab faili lõppu tekstirea. The kass käsk kuvab faili sisu terminaliaknas.

Ja loomulikult võime meie faili kasuliku teabe lisamiseks lisada muutujaid. Kui fail on logifail, võiksime soovida, et sellele lisataks ajatempel. Saame seda teha järgmise käsuga.

Pange tähele üksikud jutumärgid parameetri ümber kuupäev käsk. Need takistavad parameetrite vahelist ruumi tõlgendamast parameetrite loendi lõpuks. Need tagavad parameetrite edastamisekuupäev õigesti.

echo "Logifail algas: $ (kuupäev + '% D% T')"> logifail.txt
kassi logifail.txt

Meie logifail on loodud meile ja kass näitab meile, et sellele lisati nii kuupäevatempel kui ajatempel.

SEOTUD:Mis on stdin, stdout ja stderr Linuxis?

See on kaja repertuaar

Lihtne käsk, kuid hädavajalik. Kui seda ei oleks, peaksime selle leiutama.

Zeusi šenanigaanid tegid ometi head.