echo er en indbygget kommando i bash- og C-skaller, der skriver sine argumenter til standardoutput.
En shell er et program, der leverer kommandolinjen (dvs. brugergrænsefladen til visning af alle tekster) på Linux og andre Unix-lignende operativsystemer. Det udfører også (dvs. kører) kommandoer, der indtastes i det og viser resultaterne. bash er standardskallen på Linux.
En kommando er en instruktion, der beder en computer om at gøre noget. Et argument er inputdata for en kommando. Standardoutput er standardskærmen, men det kan omdirigeres til en fil, printer osv.
Syntaksen for ekko er
echo
Elementerne i firkantede parenteser er valgfri. En streng er en hvilken som helst endelig rækkefølge af tegn (dvs. bogstaver, tal, symboler og tegnsætningstegn).
Når det bruges uden indstillinger eller strenge, returnerer ekko en tom linje på skærmen efterfulgt af kommandoprompten på den efterfølgende linje. Dette skyldes, at tryk på ENTER-tasten er et signal til systemet for at starte en ny linje og således gentager dette ekko.
Når en eller flere strenge er angivet som argumenter, gentager ekko som standard disse sting på skærmen. Således vil f.eks. Indtastning af følgende og tryk på ENTER-tasten få ekko til at gentage sætningen Dette er en pen. på skærmen:
echo This is a pen.
Det er ikke nødvendigt at omslutte strengene med anførselstegn, da det ikke påvirker det, der står på skærmen. Hvis citater (enten enkelt eller dobbelt) bruges, gentages de ikke på skærmen.
Heldigvis kan ekko gøre mere end blot at gentage ordret, hvad der følger det. Det vil sige, det kan også vise værdien af en bestemt variabel, hvis navnet på variablen går foran (dvs. uden mellemrum) med dollartegnet ($), som fortæller shell at erstatte værdien af variablen for dens navn.
For eksempel kan en variabel med navnet x oprettes, og dens værdi indstilles til 5 med følgende kommando:
x=5
Værdien af x kan efterfølgende tilbagekaldes med følgende:
echo The number is $x.
Ekko er især nyttigt til visning af værdierne for miljøet variabler, der fortæller skallen, hvordan man opfører sig som en bruger arbejder på kommandolinjen eller i scripts (korte programmer).
For eksempel, for at se værdien af HOME, den miljøværdi, der viser den aktuelle brugers hjemmekatalog, ville følgende blive brugt:
echo $HOME
Ligeledes kan ekko bruges til at vise brugerens PATH-miljø variabel, som indeholder en kolon-adskilt liste over mapper, som systemet søger for at finde det eksekverbare program, der svarer til en kommando udstedt af brugeren:
echo $PATH
ekko følger som standard ethvert output med et nyt linjetegn. Dette er et ikke-udskrivende (dvs. usynligt) tegn, der repræsenterer slutningen af en tekstlinje og starten på den næste. Det er repræsenteret af \ n i Unix-lignende operativsystemer. Resultatet er, at den efterfølgende kommandoprompt begynder på en ny linje snarere end på den samme linje som output, der returneres med ekko.
Indstillingen -e bruges til at muliggøre ekkos fortolkning af yderligere forekomster af newline-karakter såvel som fortolkningen af andre specialtegn, såsom en vandret fane, der er repræsenteret af \ t. Således vil f.eks. følgende producere en formateret output:
echo -e "\n Projects: \n\n\tplan \n\tcode \n\ttest\n"
(Ovenstående kommando skal skrives på en enkelt linje, selvom det kan gengives som to linjer på mindre skærmskærme.) Indstillingen -n kan bruges til at stoppe ekko fra at tilføje den nye linje til output.
Ved at bruge outputomdirigering giver echo en meget enkel måde at oprette en ny fil, der indeholder tekst. Dette opnås ved at skrive ekko efterfulgt af den ønskede tekst, outputomdirigeringsoperatoren (som er en pegevinkelbeslag til højre) og til sidst navnet på t den nye fil. Filen kan ligeledes formateres ved hjælp af specialtegn. Således kan for eksempel det formaterede output fra ovenstående eksempel bruges til at oprette en ny fil kaldet projekt1:
echo -e "\n Project1: \n\n\tplan \n\twrite \n\ttest\n" > project1
Indholdet af den nye fil, inklusive enhver formatering, kan verificeres ved hjælp af en kommando som cat eller mindre, dvs.,
less project1
ekko kan ligeledes være en bekvem måde at tilføje tekst til slutningen af en fil ved at bruge den sammen med append-operatoren, som er repræsenteret af to på hinanden følgende pegevinkelparenter til højre. Der er dog altid risikoen for ved et uheld at bruge en enkelt parentes i stedet for to og derved overskrive alt indholdet af filen, og derfor er denne funktion bedst forbeholdt til brug i scripts.
ekko kan også bruges med mønstermatch, såsom jokertegnet, som er repræsenteret af stjernekarakteren. For eksempel vil følgende returnere sætningen Gif-filerne efterfølges af navnene på alle .gif-billedfiler i den aktuelle mappe:
echo -e The gif files are *.gif
ekko bruges også ofte til at have et shell-script, der viser en besked eller instruktioner, såsom Indtast Y eller N i en interaktiv session med brugerne.
ekko slukkes automatisk, når adgangskoder indtastes, så de ikke vises på skærmen.