Creative Saplings

Az Echo parancs használata Linux alatt

október 19, 2020
No Comments
  • Dave McKay

    @TheGurkha

  • 2019. október 29., 8:00 EDT
Fatmawati Achmad Zaenuri /

A echo parancs tökéletes formázott szöveg írásához a terminál ablakába. És ennek nem kell statikus szövegnek lennie. Tartalmazhat shellváltozókat, fájlneveket és könyvtárakat. A visszhangot átirányíthatja szöveges és naplófájlok létrehozására is. Kövesse ezt az egyszerű útmutatót, hogy megtudja, hogyan.

Az Echo megismétli azt, amit mondani kell, hogy ismételje meg

Zeusz előszeretettel hagyta el az Olümposz hegyét, hogy gyönyörű nimfákkal álljon össze. Az egyik utazás alkalmával azt mondta egy Echo nevű hegyi nimfának, hogy terjessze feleségét, Herát, ha követi őt. Hera valóban Zeuszt kereste, és Echo mindent megtett, hogy Herát beszélgetés közben tartsa. Végül Hera elvesztette önuralmát és megátkozta szegény Echót, így csak az utolsó szavakat ismételte, amelyeket valaki más mondott. Amit Hera tett Zeusszal, amikor utolérte, azt bárki kitalálja.

És ez nagyjából echo sok az életben. Megismétli, amit megismételni mondtak neki. Ez egyszerű, de létfontosságú funkció. A echo nélkül nem tudnánk például látható kimenetet kapni a shell parancsfájlokból.

Reklám

Noha nem terheljük le harangok és sípok sokasága, jó eséllyel echo rendelkezik olyan képességekkel, amelyekről nem tudott, vagy amelyeket elfelejtett.

visszhang? echo!

A legtöbb Linux rendszer a echo két változatát kínálja. A Bash héjba saját echo van beépítve, és van egy echo binárisan futtatható verzió is.

A két különböző verziót a következő parancsok használatával láthatjuk:

type echo
whereis echo

A type parancs megmondja, hogy a parancs, amelyet argumentumként adunk át neki, egy beépített shell, bináris futtatható fájl, álnév vagy függvény. Jelzi nekünk, hogy a echo egy beépített shell.

Reklám

Amint megtalálta a választ, type abbahagyja a további mérkőzések keresését. Tehát nem árulja el, hogy vannak-e más azonos nevű parancsok a rendszerben. De megmondja, melyiket találja meg először. És ez az, amelyet alapértelmezés szerint használni fogunk, amikor kiadjuk a parancsot.

A whereis parancs a bináris futtatható fájlt, a forráskódot és a man oldalt keresi. a parancs, amelyet parancssori paraméterként adunk át neki. A shell beépítetteket nem keresi, mert nincs külön bináris futtatható fájljuk. A Bash futtatható fájl szerves részét képezik.

A whereis parancs arról számol be, hogy a echo egy bináris futtatható fájl a /bin könyvtárban található.

A echo verziójának használatához kifejezetten meg kell hívnia, megadva a parancssorban a futtatható fájl elérési útja:

/bin/echo --version
Reklám

A beépített shell nem tudja, mi a --version parancssori argumentum, csak megismétli a terminál ablakában:

echo --version

Az itt bemutatott példák mind az alapértelmezettet használják A echo verzió a Bash héjban.

Szöveg írása a terminálba

Egyszerű szöveges karakterlánc írása a terminál ablakába , írja be a echo parancsot és a megjeleníteni kívánt karakterláncot:

echo My name is Dave.

A szöveg megismétlődik számunkra. De kísérletezés közben hamar felfedezi, hogy a dolgok kissé bonyolultabbá válhatnak. Nézze meg ezt a példát:

echo My name is Dave and I"m a geek.
Hirdetés

A terminálablakban egy > jel látható és ott ül és vár. A Ctrl + C visszatér a parancssorba. Mi történt ott?

Az egyetlen idézet vagy aposztróf a “vagyok” szóban összezavarodott echo. Ezt az egyetlen idézetet egy idézett szakasz kezdeteként értelmezte szöveg. Mivel nem talált záró egyetlen idézetet, a echo további bevitelt várt. Arra számított, hogy további bevitel tartalmazza a hiányzó egyetlen idézetet, amelyre várt.

Ha egyetlen idézetet szeretne beírni egy karakterláncba, a legegyszerűbb megoldás az egész sztring kettős idézőjelbe foglalása:

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

A szöveg becsomagolása a dupla idézőjelben jó általános tanács. A szkriptekben tisztán körülhatárolja azokat a paramétereket, amelyeket átad a echo -nek. Ez sokkal megkönnyíti a szkriptek olvasását és hibakeresését.

Reklám

Mi van, ha kettős idézőjeles karaktert szeretne beilleszteni a szövegsorába?Ez egyszerű, csak tegyen egy visszavonást \ a dupla idézőjel elé (szóköz nélkül).

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

Ez kettős idézőjelbe foglalja a számunkra a “geek” szót. Rövidesen többet fogunk látni ezekből a visszavágott karakterekkel.

Változók használata visszhanggal

Eddig , előre definiált szöveget írtunk a terminálablakba. Használhatunk echo változókat olyan dinamikusabb kimenet előállításához, amelynek értéke van a héj által számunkra. megadhat egy egyszerű változót ezzel a paranccsal:

my_name="Dave"

Létrehoztak egy my_name nevű változót. hozzárendelte a “Dave” szöveg értékét. Használhatjuk a változó nevét azokban a karakterláncokban, amelyeket átadunk a echo fájlnak, és a változó értéke be lesz írva a terminál ablakába. A $ dollárjelet kell beírni a változó neve elé, hogy a echo tudja, hogy ez egy változó.

Hirdetés

Van egy figyelmeztetés. Ha a karakterláncot egyetlen idézőjelbe csomagolta, a echo mindent szó szerint fog kezelni. Ha a változó értékét és nem a változó nevét szeretné megjeleníteni, használjon dupla idézőjeleket.

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

Kissé találóan érdemes megismételni:

  • Egyetlen idézőjel használatával a szöveget szó szerint írják a terminálablakba.
  • kettős idézőjel használatával az értelmezendő változó – más néven változóbővítés -, és az értéket a terminál ablakába írja.

KAPCSOLÓDÓ: Hogyan kell dolgozni a Bash-ban szereplő változókkal

Parancsok használata a echo

Használhatunk egy echo parancsot, és beépíthetjük annak kimenetét a terminálablakba írt karakterláncba. A dollárjelet $ kell használnunk, mintha a parancs változó lenne, és az egész parancsot zárójelbe kell foglalnunk.

A date parancsot fogjuk használni. . Az egyik tipp: önállóan kell használni a parancsot, mielőtt elkezdené használni a echo vel. Így ha valami nem stimmel a parancs szintaxisában, akkor azonosítja és kijavítja, mielőtt felvenné a echo parancsba. Ezután, ha a echo parancs nem azt teszi, amit várt, akkor tudja, hogy a problémának a echo szintaxissal kell lennie, mert Már bizonyítottuk a parancs szintaxisát.

Tehát próbálkozzon ezzel a terminál ablakában:

date +%D

És meggyőződve arról, hogy mi vagyunk A date parancstól elvárható módon integráljuk egy echo parancsba:

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

Ne feledje, hogy a parancs a zárójelben található, és a dollárjel $ közvetlenül az első zárójel előtt van.

Szöveg formázása visszhanggal

A -e (visszavágó menekülés engedélyezése) opció lehetővé teszi, hogy néhány visszavágott karakterrel megváltoztassuk a szöveg elrendezését. Ezek a visszafelé tört karakterek, amelyeket használhatunk:

Használjuk fel néhányukat, és nézzük meg, mit csinálnak.

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

A szöveg új sorra van felosztva, ahol a \n karaktereket használtuk, és beszúr egy lapot, ahol a \t karaktereket használtuk.

echo -e "Here\vare\vvertical\vtabs"
Hirdetés

Mint az \n új sor karakterek, egy függőleges fül \v áthelyezi a szöveget az alábbi sorra. De az \n új sor karakterekkel ellentétben a \v függőleges fül nem kezdi az új sort a nullánál. Az aktuális oszlopot használja.

A \b visszalépési karakterek a kurzort egy karakterrel visszahelyezik. Ha több szöveget kell írni a terminálra, akkor ez a szöveg felülírja az előző karaktert.

echo -e "123\b4"

A “3” -t felülírja a ” 4 ”.

A \r kocsi visszatérési karakter miatt a echo visszatér az aktuális sor elejére és a írjon további szöveget a nulla oszlopból.

echo -e "123\r456"

A “123” karaktereket felülírják a “456” karakterek.

A \a riasztási karakter hallható “pityergést” eredményez. Az alapértelmezett riasztási hangot használja az aktuális témához.

echo -e "Make a bleep\a"
Hirdetés

A -n (nincs új sor) opció nem egy visszavonással elkerült szekvencia, de befolyásolja a szöveg elrendezésének kozmetikumait, ezért itt tárgyaljuk. Megakadályozza a echo hozzáadását új sor a szöveg végére. A parancssor közvetlenül a terminál ablakába írt szöveg után jelenik meg.

echo -n "no final newline"

Az echo használata fájlokkal és könyvtárakkal

A echo alkalmazható rendezésként szegény ember ls változatának. A echo ilyen használatakor kevés a lehetőség. Ha bármiféle hűségre vagy finomszabályozásra van szüksége, akkor jobb, ha a ls fájlt és annak opcióit tartalmazza. könyvtárak az aktuális könyvtárban:

echo *

Ez a parancs felsorolja az aktuális könyvtár összes fájlját és könyvtárát, amelyek neve “D” betűvel kezdődik:

echo D*
Hirdetés

Ez a parancs felsorolja az aktuális könyvtár összes “.desktop” fájlját:

echo *.desktop

Igen. Ez nem a echo erősségeinek játszik. Használja a ls parancsot.

Írás fájlokba visszhanggal

Átirányíthatjuk a kimenetet a echo és vagy szöveges fájlokat hoz létre, vagy írjon meglévő szöveges fájlokba.

Ha a > átirányítási operátort használjuk, akkor a fájl létrejön, ha nem létezik. Ha a fájl létezik, akkor a echo kimenete hozzáadódik a fájl elejéhez, felülírva minden korábbi tartalmat.

Ha a >> átirányítási operátor, a fájl létrejön, ha nem létezik. A echo kimenet hozzáadódik a fájl végéhez, és nem írja felül a fájl meglévő tartalmát.

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

Az első parancs új fájlt hoz létre, és szöveget illeszt be bele. A második parancs egy sor szöveget ad a fájl aljára. Az cat parancs megjeleníti a fájl tartalmát a terminál ablakában.

És természetesen változókat is felvehetünk néhány hasznos információ hozzáadásához a fájlunkba. Ha a fájl naplófájl, akkor érdemes időbélyeget hozzáadni hozzá. Megtehetjük a következő paranccsal.

Vegye figyelembe az egyetlen idézőjelet a date parancs paraméterei körül. Megakadályozzák a paraméterek közötti tér értelmezését a paraméterlista végén. Biztosítják a paraméterek megfelelő átadását a date címre.

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

Logfájlunk nekünk készült, és a cat megmutatja, hogy az databélyegzőt és az időbélyeget egyaránt hozzáadták.

: Mi az stdin, az stdout és a stderr Linux alatt?

Ez az echo repertoárja

Egyszerű, de nélkülözhetetlen parancs. Ha nem létezne, ki kellene találnunk.

Végül is Zeus shenaniganjai jót tettek.

Dave McKay
Dave McKay akkor használta a számítógépeket, amikor divatban volt a lyukasztott papírszalag, és azóta programoz. Több mint 30 év után az informatikai iparban ma teljes munkaidős technológiai újságíró. Pályafutása során szabadúszó programozóként, egy nemzetközi szoftverfejlesztő csapat vezetőjeként, informatikai szolgáltatások projektmenedzserként és legutóbb adatvédelmi tisztként dolgozott. Dave Linux evangélista és nyílt forráskódú szószóló. Olvassa el a teljes életrajzot “

Articles
Previous Post

A legjobb 10 rézben gazdag étel, amelyet be kell venned az étrendbe

Next Post

Válaszd ki az ízeidet

Vélemény, hozzászólás? Kilépés a válaszból

Legutóbbi bejegyzések

  • A világ legjobb fotóiskolái, 2020
  • A szuverén polgárok kormányellenes filozófiájukat viszik az utakra
  • Stukkó javítási költség útmutató
  • Muckrakers (Magyar)
  • Precíziós onkológia

Archívum

  • 2021 február
  • 2021 január
  • 2020 december
  • 2020 november
  • 2020 október
  • 2020 szeptember
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.