Hur man Använder Echo-Kommandot i Linux

0
360
Fatmawati Achmad Zaenuri/Shutterstock

Echo-kommandot är perfekt för att skriva formaterad text i terminalfönstret. Och det behöver inte vara statisk text. Det kan omfatta skalet variabler, filnamn, och kataloger. Du kan också omdirigera echo för att skapa text-och loggfiler. Att följa denna enkla guide för att ta reda på hur.

Echo Upprepar Vad Du Säger Åt Den Att Upprepa

Zeus blev förtjust i att lämna Mount Olympus att umgås med vackra nymfer. På en resa, sade han till ett berg nymf som kallas Echo att waylay hans fru, Hera, om hon följde honom. Hera kom letar efter Zeus, och Echo gjorde allt hon kunde för att hålla Hera i samtal. Slutligen, Hera förlorade sitt humör och förbannade dåliga Echo så att hon bara upprepa de sista orden som någon annan hade sagt. Vad Hon gjorde Zeus, när hon fick upp honom är någons gissa.

Och att ganska mycket, är echo: s lott i livet. Det upprepar vad den har fått höra att upprepa. Det är en enkel funktion, men en viktig. Utan eko , vi skulle vara oförmögna att få synliga utdata från shell-skript, till exempel.

Samtidigt som det inte är lastad ner med en mängd finesser, det finns en god chans att eko har några funktioner som du inte visste om eller som du hade glömt.

eko? echo!

De flesta Linux-system ger två versioner av echo. Bash-skalet har sin egen echo inbyggt i det, och det är en binär körbar version av eko också.

Vi kan se två olika versioner genom att använda följande kommandon:

skriv echo
whereis echo

Med kommandot type berättar om kommandot vi övergå till det som argument är ett skal builtin, en binär körbar, ett alias eller en funktion. Det rapporterar för oss att echo är ett skal builtin.

Så snart som det har hittat ett svar, typ slutar leta efter ytterligare matcher. Så det inte berätta för oss om det finns andra kommandon med samma namn finns i systemet. Men det gör berätta för oss vilken den hittar först. Och det är den som ska användas som standard när vi fråga som kommando.

Whereis kommandot ser ut för binär körbar, källkod, och manualsidan för kommandot vi övergå till det som sin kommandoradsparametern. Det behöver inte leta efter skal builtins eftersom de inte har en separat binär körbar. De är en integrerad del av Bash körbar.

Whereis kommandot rapporter om att echo är en binär körbar ligger i /bin katalog.

För att använda denna version av echo du skulle behöva uttryckligen kallar det genom att ge sökvägen till den körbara på kommandoraden:

/bin/echo-version

Shell builtin inte vet vad den andra –version kommandoradsargument är det bara upprepar det i terminalfönstret:

echo –version

De exempel som visas här alla använda standard-versionen av echo, i Bash-skalet.

Skriva Text till Terminalen

Att skriva en enkel sträng av text till det terminal-fönster, typ echo och den sträng som du vill att det ska visas:

echo Mitt namn är Dave.

Texten upprepas för oss. Men som du experimentera, kommer du snart att upptäcka att saker och ting kan bli något mer komplicerad. Titta på detta exempel:

echo Mitt namn är Dave, och jag är en tönt.

Terminal-fönstret visar en > logga in och sitter där och väntar. Ctrl+C kommer du tillbaka till kommandotolken. Vad hände där?

Den enda citat eller apostrofen i ordet “jag” förvirrad echo. Det tolkas som enda citat som början på en citerat avsnitt av texten. Eftersom det inte upptäcka en utgående enda citat, echo väntar mer input. Det förväntas att ytterligare ingång till att omfatta saknas enda citat var det väntar.

Att inkludera ett enda citat i en sträng, den enklaste lösningen är att linda hela sträng inom dubbla citationstecken:

echo “Mitt namn är Dave, och jag är en tönt.”

Omslag din text i dubbla citationstecken är bra allmänna råd. I manus, det rent delimits de parametrar som du skickar till ekot. Detta gör att läsa—och debugging—skript mycket lättare.

Vad händer om du vill inkludera en dubbel citat tecken i strängen text? Det är enkelt, bara att lägga till ett bakåtstreck framför dubbla citattecken (utan mellanslag mellan dem).

echo “Mitt namn är Dave, och jag är en “geek.””

Detta wraps ordet “nörd” i dubbla citationstecken för oss. Vi kommer att se mer av dessa backslash-flydde tecken inom kort.

Med hjälp av Variabler Med echo

Så långt, vi har varit på att skriva den fördefinierade texten till terminalfönstret. Vi kan använda variabler med echo för att producera utskrifter som är mer dynamisk och har värden in i det för oss genom skalet. Vi kan definiera en enkel variabel med detta kommando:

my_name=”Dave”

En variabel som heter my_name har skapats. Det har varit tilldelats värdet av sms: a “Dave.” Vi kan använda variabelnamn i strängar som passerar vi att upprepa , och värdet av variabeln skrivs till terminalfönstret. Du måste sätta ett dollartecken $ framför variabelnamnet att låta echo vet att det är en variabel.

Det är en varning. Om du har svept din sträng i en enda citationstecken echo kommer att behandla allt bokstavligt. Att ha variabeln värdet som visas, och inte namnet på den variabel, använda dubbla citationstecken.

echo “Mitt namn är $my_name’
echo “Mitt namn är $my_name”

Något träffande, att det är värt att upprepa:

  • Att använda enkla citationstecken resultat i text skrivs till terminalfönstret på ett bokstavligt sätt.
  • Med hjälp av dubbla citationstecken resultat i variabeln tolkas—som också kallas rörlig expansion—och det värde som skrivs till terminalfönstret.

RELATERAT: Hur att Arbeta med Variabler i Bash

Med hjälp av Kommandon Med echo

Vi kan använda ett kommando med echo och införliva sin produktion till den sträng som skrivs till terminalfönstret. Vi måste använda dollartecknet$, som om kommandot var en variabel, och linda in hela kommandot som anges inom parentes.

Vi kommer att använda kommandot date. Ett tips är att använda kommandot om sina egna innan du börjar använda den med echo. På det sättet, om det är något fel med syntaxen för ditt kommando, du identifiera det och rätta till det innan du har det i echo-kommandot. Sedan, om echo-kommandot inte gör vad du förväntar dig, du vet att frågan måste vara med echo-syntax för att du redan har visat kommandots syntax.

Så, testa detta i terminal-fönstret:

date +%D

Och nöjd med att vi får det vi förväntar oss av kommandot date, vi kommer att integrera det i ett echo-kommando:

echo “Dagens datum: $(date +%D)”

Observera att kommandot är inom parentes och dollartecknet $, omedelbart innan den första parentesen.

Formatera Text Med echo

-E (aktivera omvänt snedstreck flyr) alternativet låter oss använda några backslash-flydde tecken för att ändra utseendet på texten. Dessa är backslash flydde tecken som vi kan använda:

  • a: Alert (historiskt känd som BEL). Detta genererar standard signal.
  • b: Skriver en backsteg karaktär.
  • c: Ger ytterligare produktion.
  • e: Skriver en escape-tecken.
  • f: Skriver en form av foder-karaktär.
  • n: Skriver en ny rad.
  • r: Skriver en vagnretur.
  • t: Skriver en horisontell flik.
  • v: Skriver en vertikal tab.
  • \: Skriver ett omvänt snedstreck.

Låt oss använda några av dem och se vad de gör.

echo -e “det Här är en lång rad av textnsplit över tre radernwithttabsmassortdentthirdtline”

Texten är uppdelad i en ny rad där vi har använt den n-tecken och en flik är införd där vi har använt t tecken.

echo -e “Härvarevverticalvtabs”

Som n för ny rad tecken, en vertikal tabulator v flyttar texten till raden nedan. Men, till skillnad från n ny rad-tecken, v vertikal tab startar inte den nya linjen i kolumnen noll. Den använder den aktuella kolumnen.

De b baksteg tecken flytta markören bakåt ett tecken. Om det finns mer text skrivs till terminalen, texten kommer att skriva över den tidigare karaktär.

echo -e “123b4”

“3” är skriven av “4”.

Den r vagnretur tecken gör echo för att återgå till början av den aktuella raden och skriva någon längre text från kolumn noll.

echo -e “123r456”

“123” – tecken skrivs över av den “456” tecken.

I en alert karaktär kommer att ge ett hörbart “blöda.” Det använder standard signal för ditt aktuella tema.

echo-e “att Göra ett pipa”

-N (nr nyrad) alternativet är inte ett omvänt snedstreck-flydde sekvens, men det påverkar kosmetika av text layout, så vi kommer att diskutera det här. Det förhindrar eko från att lägga till en ny rad till slutet av texten. Kommandotolken visas direkt efter att den text som skrivs till terminalfönstret.

echo -n “ingen final newline”

Med hjälp av echo, Med Filer och Kataloger

Du kan använda echo som en slags fattig mans version av ls. Alternativen är få och långt mellan när du använder eko som denna. Om du behöver någon form av trohet eller bra kontroll, du är bättre att använda ls och dess legion av alternativ.

Detta kommando listar alla filer och kataloger i den nuvarande katalogen:

echo *

Detta kommando listar alla filer och kataloger i den nuvarande katalogen vars namn börjar med “D” :

echo D*

Detta kommando listar alla “.desktop” – filer i den aktuella katalogen:

echo *.skrivbordet

Ja. Detta är inte att spela för att echo: s styrkor. Använd ls.

Att skriva till Filer med echo

Vi kan omdirigera utdata från echo och antingen skapa text, filer eller skriva i befintlig text filer.

Om vi använder > omdirigering operatören, filen skapas om den inte existerar. Om filen existerar, utdata från echo läggas till i början av filen, skriver över alla tidigare innehåll.

Om vi använder >> omdirigering operatören, filen skapas om den inte existerar. Utdata från echo läggs till i slutet av filen och inte skriva över befintliga innehållet i filen.

echo “Skapa en ny fil.” > sample.txt
echo “Lägg till fil”. >> sample.txt
katt sample.txt

En ny fil skapas av de första kommandot, och texten är insatt i det. Det andra kommandot lägger till en rad med text i botten av den filen. Katten kommando visar innehållet i filen till terminalfönstret.

Och naturligtvis, vi kan inkludera variabler för att lägga till lite användbar information till våra arkiv. Om filen är en loggfil, vi kanske vill ha en tidstämpel läggs till i det. Vi kan göra det med nästa kommando.

Observera den enda citationstecken runt parametrar till kommandot date. De förhindrar utrymme mellan parametrar tolkas som slutet av parameterlistan. De säkerställa att de parametrar som skickas till korrekt datum.

echo “Loggfil igång: $(date + “%D %T’)” > logfile.txt
katt logfile.txt

Vår loggfil skapas för oss och katt visar oss att datumstämpel och tidsstämpel var både till det.

RELATERAT: Vad Är stdin, stdout och stderr på Linux?

Det är echo: s Repertoar

Ett enkelt kommando, men nödvändiga. Om det inte existerade, skulle vi bli tvungna att uppfinna det.

Zeus spektakel gjorde en del bra, trots allt.

LÄS NÄSTA

  • “Gratis Ladda ner Microsofts Partiet Byta namn PowerToy
  • “Hur att Aktivera Windows 10 Efter en hård Ändra
  • “Tvinga Mörka Läget på Varje Webbplats i Google Chrome
  • “Felsökning av utskriftsproblem i Microsoft Word
  • “Hur Säker Är Offentliga Laddstationer?