echo är ett inbyggt kommando i bash- och C-skal som skriver sina argument till standardutdata.
Ett skal är ett program som tillhandahåller kommandoraden (dvs. användargränssnittet för all textvisning) på Linux och andra Unix-liknande operativsystem. Det kör också (dvs. kör) kommandon som skrivs in i det och visar resultaten. bash är standardskalet på Linux.
Ett kommando är en instruktion som ber en dator att göra något. Ett argument är inmatningsdata för ett kommando. Standardutgång är standardbilden, men den kan omdirigeras till en fil, skrivare etc.
Syntaxen för ekot är
echo
Objekten i hakparenteser är valfria. En sträng är vilken ändlig sekvens som helst (dvs. bokstäver, siffror, symboler och skiljetecken).
När det används utan alternativ eller strängar returnerar echo en tom rad på skärmen följt av kommandotolken på nästa rad. Detta beror på att trycka på ENTER-knappen är en signal till systemet för att starta en ny linje, och därmed upprepar ekon denna signal.
När en eller flera strängar tillhandahålls som argument, upprepar echo som standard dessa sting på skärmen. Om du till exempel skriver in följande och trycker på ENTER-tangenten kan eko upprepa frasen Detta är en penna. på skärmen:
echo This is a pen.
Det är inte nödvändigt att omge strängarna med citat, eftersom det inte påverkar vad som står på skärmen. Om citat (antingen enkla eller dubbla) används upprepas de inte på skärmen.
Lyckligtvis kan eko göra mer än att bara upprepa ordet vad som följer det. Det vill säga det kan också visa värdet på en viss variabel om namnet på variabeln föregås direkt (dvs. utan mellanliggande mellanslag) med dollartecknet ($), som säger att skalet ska ersätta variabelns värde för dens namn.
Till exempel kan en variabel med namnet x skapas och dess värde ställas in på 5 med följande kommando:
x=5
Värdet på x kan därefter återkallas av följande:
echo The number is $x.
Echo är särskilt användbart för att visa värdena för miljön variabler som berättar för skalet hur man beter sig som en användare arbetar på kommandoraden eller i skript (korta program).
Till exempel, för att se värdet på HOME, miljövärdet som visar den aktuella användarens hemkatalog, skulle följande användas:
echo $HOME
På samma sätt kan eko användas för att visa en användares PATH-miljö variabel, som innehåller en kolonavgränsad lista över kataloger som systemet söker för att hitta det körbara programmet som motsvarar ett kommando som utfärdats av användaren:
echo $PATH
echo följer som standard vilken utgång som helst med en ny linje. Detta är ett tecken som inte skrivs ut (dvs. osynligt) som representerar slutet på en textrad och början på nästa. Det representeras av \ n i Unix-liknande operativsystem. Resultatet är att den efterföljande kommandotolken börjar på en ny rad snarare än på samma rad som den utdata som returneras med eko.
Alternativet -e används för att möjliggöra ekotolkning av ytterligare instanser av newline-tecken samt tolkning av andra specialtecken, såsom en horisontell flik, som representeras av \ t. Således skulle till exempel följande producera en formaterad utgång:
echo -e "\n Projects: \n\n\tplan \n\tcode \n\ttest\n"
(Kommandot ovan ska skrivas på en rad, även om det kan återges som två rader på mindre skärmar.) Alternativet -n kan användas för att stoppa ekot från att lägga till den nya raden till utgången.
Genom att använda omdirigering av utdata ger echo ett mycket enkelt sätt för att skapa en ny fil som innehåller text. Detta uppnås genom att skriva eko följt av önskad text, utmatningsomdirigeringsoperatören (som är en vinkelkonsol åt höger) och slutligen namnet på t han nya fil. Filen kan också formateras med hjälp av specialtecken. Således kan till exempel den formaterade utgången från exemplet ovan användas för att skapa en ny fil som heter project1:
echo -e "\n Project1: \n\n\tplan \n\twrite \n\ttest\n" > project1
Innehållet i den nya filen, inklusive vilken formatering som helst, kan verifieras med hjälp av ett kommando som cat eller mindre, dvs.,
less project1
eko kan också vara ett bekvämt sätt att lägga till text i slutet av en fil genom att använda den tillsammans med append-operatören, vilket representeras av två på varandra följande höger pekvinkelparenteser. Det finns emellertid alltid risken att du oavsiktligt använder en enda parentes istället för två och därigenom skriver över allt innehåll i filen, och därför är den här funktionen bäst reserverad för användning i skript.
eko kan också användas med mönstermatchning, såsom jokertecken, som representeras av stjärnkaraktären. Till exempel skulle följande returnera frasen GIF-filerna följs av namnen på alla .gif-bildfiler i den aktuella katalogen:
echo -e The gif files are *.gif
eko används också ofta för att ett skalskript ska visa ett meddelande eller instruktioner, till exempel Ange Y eller N i en interaktiv session med användare.
Ekot stängs av automatiskt när lösenord anges så att de inte visas på skärmen.