Kuinka Echo-komentoa käytetään Linuxissa

Fatmawati Achmad Zaenuri/

The echo komento on täydellinen muotoillun tekstin kirjoittamiseen pääteikkunaan. Eikä sen tarvitse olla staattista tekstiä. Se voi sisältää komentotulkin muuttujia, tiedostonimiä ja hakemistoja. Voit myös ohjata Echon luomaan tekstitiedostoja ja lokitiedostoja. Seuraa tätä yksinkertaista ohjetta selvittää, miten.

kaiku toistaa sen, mitä käsket sen toistaa

Zeus oli mieltynyt lähtemään Olymposvuorelta kauniiden nymfien seuraan. Eräällä matkalla hän käski Echo-nimistä vuorinymfiä harhauttamaan vaimonsa Heran, jos tämä seuraisi häntä. Hera tuli etsimään Zeusta, ja Echo teki kaikkensa pitääkseen Heran keskustelussa. Lopulta Hera menetti malttinsa ja kirosi Echo-paran niin, että tämä vain toistaa viimeiset sanat, jotka joku toinen oli sanonut. Mitä Hera teki Zeukselle, kun sai hänet kiinni, on kenen tahansa arvattava.

ja se, aika lailla, on echo’s lot in life. Se toistaa sen, mitä sen on käsketty toistaa. Se on yksinkertainen tehtävä, mutta elintärkeä sellainen. Ilman echo , emme voisi saada näkyvää ulostuloa esimerkiksi komentotulkin skripteiltä.

vaikka kellojen ja pillien paljous ei ole kuormittanut, on hyvin mahdollista, että echo sisältää joitain ominaisuuksia, joista et tiennyt tai jotka olit unohtanut.

echo? kaiku!

useimmissa Linux-järjestelmissä on kaksi versiota echo. Bash-komentotulkkiin on rakennettu oma echo, ja siitä on myös binäärinen suoritettava versio echo.

voidaan nähdä kaksi eri versiota käyttämällä seuraavia komentoja:

type echo
whereis echo

The type komento kertoo, onko komento, jonka siirrämme sille sen argumenttina, komentotulkki builtin, binääritiedosto, alias vai funktio. Se kertoo, että echo on kuorirakennus.

heti vastauksen löydettyään type lopettaa jatkopelien etsimisen. Se ei siis kerro, onko järjestelmässä muita saman nimisiä komentoja. Mutta se kertoo, kumman se löytää ensin. Ja sitä käytetään oletuksena, kun annamme tuon komennon.

whereis komento etsii komentoriviparametrikseen binäärisen suoritustiedoston, lähdekoodin ja man-sivun sille välittämästämme komennosta. Se ei etsi shell builtins, koska niillä ei ole erillistä binääritiedostoa. Ne ovat olennainen osa Bash-ohjelmaa.

whereis komento kertoo, että echo on binäärinen suoritustiedosto, joka sijaitsee /bin hakemistossa.

käyttääksesi kyseistä versiota echo sitä pitäisi eksplisiittisesti kutsua antamalla polku suoritettavaan komentoriville:

/bin/echo --version

komentotulkin rakentama ei tiedä mitä komentoriviargumentti on, se vain toistaa sen pääteikkunassa:

echo --version

tässä esitetyt esimerkit käyttävät kaikki oletusversiotaecho, Bash-komentotulkissa.

kirjoittaa tekstiä päätteeseen

kirjoittaaksesi yksinkertaisen merkkijonon pääteikkunaan, Kirjoita echo ja merkkijono, jonka haluat sen näyttävän:

echo My name is Dave.

teksti se toistuu meille. Mutta kun kokeilet, huomaat pian, että asiat voivat saada hieman monimutkaisempi. Katso tätä esimerkkiä:

echo My name is Dave and I'm a geek.

pääteikkunassa näkyy >merkki ja istuu siinä odottamassa. Ctrl + C palauttaa sinut komentokehotteeseen. Mitä tapahtui?

yksittäinen lainaus tai heittomerkki sanassa ”olen” sekaisin echo. Se tulkitsi tuon yksittäisen sitaatin alkavaksi lainatuksi tekstiosuudeksi. Koska se ei havainnut päätössingleä, echo odotti lisää syöttöä. Se odotti, että lisäpanostus sisältää puuttuvan yksittäisen sitaatin, jota se odotti.

yhden sitaatin sisällyttämiseksi merkkijonoon yksinkertaisin ratkaisu on kääriä koko merkkijono kaksinkertaisten lainausmerkkien sisään:

echo "My name is Dave and I'm a geek."

tekstin kääriminen kaksinkertaisiin lainausmerkkeihin on hyvä yleisneuvo. Skripteissä se rajaa puhtaasti syöttämäsi parametrit echo. Tämä tekee skriptien lukemisesta—ja virheenkorjauksesta-paljon helpompaa.

mitä jos haluat lisätä tekstijonoosi kaksoislainausmerkin? Se on helppoa, laita vain takaisku \ kaksoislainausmerkin eteen (eikä niiden väliin jää tilaa).

echo "My name is Dave and I'm a \"geek.\""

Tämä kietoo sanan ”geek” meille kaksinkertaisiin lainausmerkkeihin. Näitä takapakkia paenneita hahmoja nähdään lähiaikoina lisää.

käyttäen muuttujia echo

tähän mennessä olemme kirjoittaneet ennalta määriteltyä tekstiä pääteikkunaan. Voimme käyttää muuttujia echo tuottaaksemme tuotoksen, joka on dynaamisempi ja johon on lisätty arvoja komentotulkin toimesta. Voimme määritellä yksinkertaisen muuttujan tällä komennolla:

my_name="Dave"

muuttuja my_name on luotu. Sille on annettu tekstin arvo ” Dave.”Voimme käyttää muuttujan nimeä merkkijonoissa , jotka siirrämme echo, ja muuttujan arvo kirjoitetaan pääteikkunaan. Muuttujan nimen eteen pitää laittaa dollarimerkki $, jotta echo tietää, että kyseessä on muuttuja.

on varoitus. Jos olet paketoinut merkkijonosi yksittäisiin lainausmerkkeihin echo käsittelee kaiken kirjaimellisesti. Jos haluat, että muuttujan arvo näytetään, eikä muuttujan nimi, Käytä kaksinkertaisia lainausmerkkejä.

echo 'My name is $my_name'
echo "My name is $my_name"

jokseenkin osuvasti, se kannattaa toistaa:

  • käyttämällä yksittäisiä lainausmerkkejä saadaan teksti pääteikkunaan kirjaimellisella tavalla.
  • kaksoislainausmerkkien avulla muuttuja tulkitaan—jota kutsutaan myös muuttujan laajennukseksi—ja arvo kirjoitetaan pääteikkunaan.

liittyvät: kuinka työskennellä muuttujien kanssa Bashissa

käyttämällä komentoja echo

Voimme käyttää komentoa echo ja sisällyttää sen tulosteen merkkijonoon, joka kirjoitetaan pääteikkunaan. On käytettävä dollarimerkkiä $ ikään kuin komento olisi muuttuja, ja käärittävä koko komento sulkeisiin.

käytämme date-komentoa. Yksi vinkki on käyttää komentoa yksin ennen kuin aloitat sen käytön echo. Näin, jos komennon syntaksissa on jotain vikaa, tunnistat sen ja korjaat sen ennen kuin sisällytät sen echo – komentoon. Sitten, jos echo komento ei tee sitä, mitä odottaa, tiedät ongelman olevan echo syntaksilla, koska olet jo todistanut komennon syntaksin.

joten kokeile tätä pääteikkunassa:

date +%D

echo "Today's date is: $(date +%D)"

huomaa, että komento on suluissa ja dollarimerkki $on välittömästi ennen ensimmäistä sulkea.

formating Text with echo

-e (enable backslash escapes)-valitsimen avulla voimme käyttää joitain backslash-karanneita merkkejä tekstin asettelun muuttamiseen. Näitä takaisinpäin karanneita hahmoja Voimme käyttää:

käytetään osa niistä ja katsotaan, mitä ne tekevät.

echo -e "This is a long line of text\nsplit across three lines\nwith\ttabs\ton\tthe\tthird\tline"

teksti on jaettu uudelle riville, jossa olemme käyttäneet \n merkkejä ja lisätään välilehti, jossa olemme käyttäneet \t merkkejä.

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

kuten \n uudet rivimerkit, pystysuuntainen välilehti \v siirtää tekstin alla olevalle riville. Mutta toisin kuin \n uudet rivimerkit, \v pystyrivi ei aloita uutta riviä sarakkeesta nolla. Se käyttää nykyistä saraketta.

\b taustamerkit siirtävät kursoria yhden merkin taaksepäin. Jos päätteeseen kirjoitetaan enemmän tekstiä, kyseinen teksti korvaa edellisen merkin.

echo -e "123\b4"

”3” on ylikirjoitettu ”4”.

\r carriage return-merkki saa echo palaamaan nykyisen rivin alkuun ja kirjoittamaan mahdollisen tekstin sarakkeesta nolla.

echo -e "123\r456"

”123” merkkiä korvataan ”456” merkillä.

\a

hälytysmerkki tuottaa audible ” – piippauksen.”Se käyttää oletuksena hälytysääni nykyisen teeman.

echo -e "Make a bleep\a"

-n (No newline)-vaihtoehto ei ole takaperin karannut sekvenssi, mutta se vaikuttaa tekstin asettelun kosmetiikkaan, joten siitä keskustellaan täällä. Se estää echo lisäämästä tekstin loppuun uutta riviä. Komentokehote ilmestyy suoraan pääteikkunaan kirjoitetun tekstin jälkeen.

echo -n "no final newline"

käyttämällä kaikua tiedostoineen ja Hakemistoineen

voit käyttää echo eräänlaisena köyhän miehen versiona ls. Vaihtoehdot ovat harvassa, kun käytät echo näin. Jos kaipaa minkäänlaista uskollisuutta tai hienosäätöä, on parempi käyttää ls ja sen lukuisia vaihtoehtoja.

Tämä komento listaa kaikki nykyisen kansion tiedostot ja kansiot:

echo *

Tämä komento listaa kaikki nykyisen kansion tiedostot ja hakemistot, joiden nimi alkaa ”D”:

echo D*

Tämä komento listaa kaikki ”.työpöydän ” tiedostot nykyisessä kansiossa:

echo *.desktop

Joo. Tämä ei ole pelaamista echon vahvuuksille. Käytä ls.

kirjoitettaessa tiedostoihin, joissa on echo

, voimme ohjata tulosteen echo ja joko luoda tekstitiedostoja tai kirjoittaa olemassa oleviin tekstitiedostoihin.

Jos käytämme > uudelleenohjausoperaattoria, tiedosto luodaan, jos sitä ei ole olemassa. Jos tiedosto on olemassa, tuloste echo lisätään tiedoston alkuun ja korvataan aikaisempi sisältö.

Jos käytämme >> uudelleenohjausoperaattoria, tiedosto luodaan, jos sitä ei ole olemassa. Tuloste echo lisätään tiedoston loppuun eikä korvaa tiedoston olemassa olevaa sisältöä.

echo "Creating a new file." > sample.txt
echo "Adding to the file." >> sample.txt
cat sample.txt

ensimmäinen komento luo uuden tiedoston, johon lisätään teksti. Toinen komento Lisää tekstirivin tiedoston alaosaan. cat komento näyttää tiedoston sisällön pääteikkunaan.

ja tietenkin voimme lisätä muuttujia lisätäksemme hyödyllistä tietoa tiedostoomme. Jos tiedosto on lokitiedosto, haluamme ehkä lisätä siihen aikaleiman. Voimme tehdä sen seuraavalla komennolla.

huomaa date – komennon parametrien ympärillä olevat yksittäiset lainausmerkit. Ne estävät parametrien välisen tilan tulkitsemisen parametriluettelon lopussa. Ne varmistavat, että parametrit siirtyvät date oikein.

echo "Logfile started: $(date +'%D %T')" > logfile.txt
cat logfile.txt

meidän lokitiedosto on luotu meitä varten ja catosoittaa, että päiväys ja aikaleima molemmat lisättiin siihen.

liittyvät: Mitä ovat stdin, stdout ja stderr Linuxissa?

se on Echon repertuaari

yksinkertainen käsky, mutta välttämätön. Jos sitä ei olisi, se olisi keksittävä.

Zeuksen metkut tekivät sittenkin hyvää.



Vastaa

Sähköpostiosoitettasi ei julkaista.