Het Gebruik van het Echo Commando wordt in Linux

Fatmawati Achmad Zaenuri/Shutterstock

De echo opdracht is perfect voor het schrijven van opgemaakte tekst naar het terminal venster. En het hoeft niet te worden statische tekst. Het kan zijn shell-variabelen, bestandsnamen en mappen. U kunt ook omleiden echo te maken van tekst bestanden en log-bestanden. Volg deze eenvoudige handleiding om uit te vinden hoe.

De Echo Herhaalt Wat Je Zegt Het Te Herhalen

Zeus was dol op het verlaten van de Berg Olympus te consort met mooie nimfen. Op een reis, vertelde hij op een berg nimf genaamd Echo te waylay zijn vrouw, Hera, als ze hem gevolgd. Hera is gekomen op zoek naar Zeus, en de Echo deed alles wat ze kon om te houden van Hera in gesprek. Tot slot, Hera verloor haar humeur en vervloekt slechte Echo zodat ze alleen maar herhalen van de laatste woorden die iemand anders had gezegd. Wat Hera deed Zeus, wanneer ze gevangen en bij hem is iedereen een raadsel.

En dat vrij veel, is echo ‘ s lot in het leven. Het herhaalt wat hij heeft gezegd te herhalen. Dat is een eenvoudige functie, maar een vitale één. Zonder echo , we zouden niet zichtbare output vanuit shell scripts, bijvoorbeeld.

Hoewel het niet beladen met allerlei toeters en bellen, is er een goede kans dat de echo heeft een aantal mogelijkheden die je niet kent, of dat je zou vergeten.

echo? echo!

De meeste Linux-systemen bieden twee versies van de echo. De Bash-shell heeft zijn eigen echo ingebouwd, en er is een binaire, uitvoerbare versie van de echo ook.

We kunnen zien dat het om twee verschillende versies met behulp van de volgende commando ‘ s:

type echo
whereis echo

Het type opdracht vertelt ons of de opdracht die we passeren als het argument is een shell-builtin, een binaire, uitvoerbare, een alias, of een functie. Hij meldt ons dat de echo is een shell-builtin.

Zodra het heeft een antwoord gevonden, type stopt op zoek naar meer treffers. Het maakt dus niet ons vertellen of zijn er andere commando ‘ s met dezelfde naam aanwezig is in het systeem. Maar het vertelt ons welke van de twee het eerste vindt. En dat is het enige dat standaard moet worden gebruikt wanneer we het probleem met dat commando.

De whereis commando ziet er voor de binaire, uitvoerbare, source code, en de man pagina voor de opdracht die we passeren als de command-line parameter. Het lijkt er niet op voor shell builtins omdat ze niet afzonderlijk uitvoerbaar binair bestand. Ze zijn een integraal onderdeel van de Bash uitvoerbaar.

De whereis opdracht rapporten die echo is een uitvoerbaar binair bestand in de /bin directory.

Gebruik die versie van echo zou je expliciet moet noemen door het pad naar het uitvoerbare bestand op de commando-regel:

/bin/echo –versie

De shell-builtin niet weet wat het –versie commando-regel argument is, het is gewoon herhaalt het in het terminal-venster:

echo –versie

De voorbeelden die hier al gebruik maken van de standaard versie van de echo, in de standaard Bash shell.

Het schrijven van de Terminal

Voor het schrijven van een eenvoudige reeks van text op de terminal-venster, type echo en de tekenreeks die u wilt weergeven:

echo Mijn naam is Dave.

De tekst wordt herhaald voor ons. Maar als u experimenteren, zult u al snel ontdekken dat de dingen kunnen iets ingewikkelder. Kijk naar dit voorbeeld:

echo Mijn naam is Dave en ik ben een geek.

Het terminal venster een > teken en zit er te wachten. Ctrl+C, keert u terug naar de opdrachtprompt. Wat gebeurde er?

De enkele quote of apostrof in het woord “ik ben” in de war echo. Het geïnterpreteerd dat enkele aanhalingstekens als de start van een beursgenoteerde deel van de tekst. Omdat het niet detecteren van een afsluitend aanhalingsteken, echo was wachten op meer ingang. Verwacht wordt dat verdere input om het aanhalingsteken het was wachten op.

Om een enkel aanhalingsteken in een string, de eenvoudigste oplossing is om wrap de hele string binnen dubbele aanhalingstekens:

echo “Mijn naam is Dave en ik ben een geek.”

Verpakking van uw tekst in dubbele aanhalingstekens is goed algemeen advies. In scripts, schoon begrenst de parameters die je doorgeeft aan echo. Dit maakt het lezen—en debugging—scripts veel gemakkelijker.

Wat als u wilt opnemen van een dubbele aanhalingsteken in je string tekst? Dat is makkelijk, zet een backslash in de voorkant van de dubbele aanhalingstekens (zonder spatie).

echo “Mijn naam is Dave en ik ben een “geek.””

Deze wraps het woord “geek” dubbele aanhalingstekens voor ons. We zien meer van deze backslash-escape-tekens kort.

Met behulp van Variabelen Met echo

We hebben het schrijven van vooraf gedefinieerde tekst naar het terminal venster. We kunnen gebruik maken van variabelen met een echo naar de uitvoer is meer dynamisch en heeft waarden ingevoerd in het voor ons door de shell. We kunnen definiëren van een eenvoudige variabele met dit commando:

my_name=”Dave”

Een variabele met de naam my_name is gemaakt. Het is toegewezen aan de waarde van de tekst “Dave.” We kunnen gebruik maken van de naam van de variabele in de strings die we passeren, als een echo , en de waarde van de variabele wordt weggeschreven naar het terminal venster. Moet je een dollarteken $ in de voorkant van de naam van de variabele echo laten weten dat het een variabele is.

Er is een addertje onder het gras. Als je hebt gewikkeld je tekst in enkele aanhalingstekens echo zal behandelen alles letterlijk. Om de waarde van de variabele weergegeven, en niet de naam van de variabele, gebruik dubbele aanhalingstekens.

echo “Mijn naam is $my_name’
echo “Mijn naam is $my_name”

Wat treffend is, dat is de moeite waard te herhalen:

  • Gebruik enkele aanhalingstekens resultaten in de tekst wordt geschreven naar het terminal-venster op een letterlijke manier.
  • Met behulp van dubbele aanhalingstekens resultaten in de variabele wordt uitgelegd—ook wel variabele expansie—en de waarde geschreven naar het terminal venster.

GERELATEERD: Hoe te Werken met Variabelen in Bash

Met behulp van Opdrachten Met echo

We kunnen gebruik maken van een opdracht met echo en het integreren van de uitgang in de tekenreeks die is geschreven naar het terminal venster. We moeten gebruik maken van het dollarteken $ alsof het een bevel is een variabele, en wikkel de hele opdracht tussen haakjes.

We gaan gebruik maken van het date commando. Een tip is om gebruik te maken van de opdracht op zijn eigen voordat u start met het gebruik met echo. Op die manier, als er iets mis is met de syntaxis van de opdracht u te identificeren en corrigeren voordat je ze in de echo commando. Dan, als de echo commando niet doet wat u verwacht, weet je dat je het probleem moet worden met de echo syntaxis, want je hebt al bewezen, dat de opdracht van de syntaxis.

Dus, probeer dit in het terminal-venster:

date +%D

En, tevreden dat we krijgen wat we verwachten van het date commando, we zullen integreren in een echo commando:

echo “de datum van Vandaag is: $(date +%D)”

Opmerking de opdracht is binnen de haakjes en het dollarteken $ onmiddellijk vóór de eerste haakje.

Opmaak Tekst Met echo

De -e (enable backslash ontsnapt) optie kunt ons gebruik enkele backslash-escape-tekens wijzigen van de lay-out van de tekst. Dit zijn de backslash-ontsnapt tekens die we kunnen gebruiken:

  • a: Alert (van oudsher bekend als BEL). Dit genereert de standaard meldingsgeluid.
  • b: Schrijft een backspace-teken.
  • c: Af te zien van elke verdere uitgang.
  • e: Schrijft een escape-teken.
  • f: Schrijft een form feed-karakter.
  • n: Schrijft een nieuwe regel.
  • r: Schrijft een harde return.
  • t: Schrijft een horizontale tab.
  • v: Schrijft een verticale tabblad.
  • \: Schrijft een backslash karakter.

Laten we gebruik maken van een aantal van hen en zien wat ze doen.

echo -e “Dit is een lange lijn van de tekstnsplit over drie lijnennalsttabstontdetthirdtline”

De tekst is opgedeeld in een nieuwe lijn waar wij hebben de n karakters en een tabblad wordt ingevoegd op de plek die we hebben gebruikt van de t tekens.

echo -e “Hierzorgvverticalvtabs”

Zoals de n new line karakters, een verticale tab v verschuift de tekst op de regel hieronder. Maar, in tegenstelling tot de n new line karakters, de v verticale tabblad start niet de nieuwe regel op kolom nul. Het maakt gebruik van de huidige kolom.

De b backspace karakters verplaats de cursor één teken. Als er meer tekst moet geschreven worden naar de terminal, die tekst overschrijft het vorige teken.

echo -e “123b4”

De “3” is geschreven door de “4”.

De r return-teken oorzaken echo om terug te keren naar het begin van de huidige regel en schrijven geen verdere tekst uit kolom nul.

echo -e “123r456”

De “123” tekens worden overschreven door de “456” tekens.

De een alert karakter zal produceren een hoorbare pieptoon.” Het maakt gebruik van het standaard meldingsgeluid voor uw huidige thema.

echo -e “- een piepera”

De -n (no newline) optie is niet een backslash-escape-reeks, maar het heeft wel invloed op het uiterlijk van de tekst lay-out, dus zullen we hier bespreken. Het voorkomt echo van het toevoegen van een nieuwe regel aan het einde van de tekst. De opdrachtprompt wordt weergegeven direct na de tekst die wordt geschreven naar het terminal venster.

echo -n “geen afsluitende newline”

Met behulp van echo Met Bestanden en Mappen

U kunt gebruik maken van echo als een soort poor man ‘ s versie van ls. Uw opties zijn weinigen en ver tussen het gebruik van echo als deze. Als u behoefte aan een soort van trouw of een goede controle, bent u beter af met behulp van ls en haar legioen van opties.

Dit commando toont alle bestanden en mappen in de huidige map:

echo *

Dit commando toont alle bestanden en mappen in de huidige map waarvan de naam begint met een “D” :

echo D*

Dit commando geeft een lijst van alle “.desktop” bestanden in de huidige map:

echo *.desktop

Ja. Dit is niet het spelen van de echo ‘ s sterke punten. Gebruik ls.

Het schrijven naar Bestanden met echo

Wij kunnen leiden dat de output van echo en het maken van tekstbestanden of schrijven in de bestaande tekst bestanden.

Als we gebruik maken van de > omleiding operator, het bestand wordt aangemaakt als deze nog niet bestaat. Als het bestand al bestaat, wordt de output van echo is toegevoegd aan het begin van het bestand, het overschrijven van een vorige inhoud.

Als we gebruik maken van de >> omleiding operator, het bestand wordt aangemaakt als deze nog niet bestaat. De output van echo wordt toegevoegd aan het einde van het bestand niet overschrijft alle bestaande inhoud van het bestand.

echo “het Maken van een nieuw bestand.” > sample.txt
echo “Toevoegen aan het bestand.” >> sample.txt
kat sample.txt

Een nieuw bestand wordt aangemaakt door de eerste opdracht, en de tekst wordt ingevoegd in het. De tweede opdracht voegt u een regel tekst aan de onderkant van het bestand. Het cat commando toont de inhoud van het bestand naar het terminal venster.

En natuurlijk kunnen we variabelen toe te voegen een aantal nuttige informatie aan ons bestand. Als het bestand is een logfile, kunnen we een tijdstempel toegevoegd. We kunnen dat doen met de volgende opdracht.

Opmerking enkele aanhalingstekens rond de parameters voor de opdracht date. Ze voorkomen dat de ruimte tussen de parameters worden uitgelegd als het einde van de lijst met parameters. Zij zorgen voor de parameters worden doorgegeven aan de datum correct.

echo “Logfile gestart: $(date +’%D %B’)” > logfile.txt
kat logfile.txt

Onze logbestand is gemaakt voor ons en kat toont ons dat de tijdstempel toevoegen en tijdstempel waren beide aan het programma toegevoegd.

GERELATEERD: Wat Zijn stdin, stdout en stderr op Linux?

Dat is de echo ‘ s Repertoire

Een eenvoudige opdracht, maar onmisbaar. Als het nog niet bestond, zouden we het moeten uitvinden.

Zeus, de grappen en grollen heeft een aantal goede, immers.

LEES VERDER

  • “Gratis te Downloaden: Microsoft de Naam wijzigen in Batch PowerToy
  • “Hoe Windows opnieuw Activeren 10 Na een Wijziging in de Hardware
  • “Hoe te Dwingen Donker Modus op Elke Website in Google Chrome
  • “Het Oplossen van afdruk Problemen in Microsoft Word
  • “Hoe Veilig Zijn Openbare Oplaadpunten?

Posted

in

by

Tags: