Als beheerder voert u mogelijk regelmatig het echo-commando uit in Bash bij het beheren van een Linux-systeem. Maar kan het echo-commando alleen tekst afdrukken?
In deze zelfstudie bekijkt u het echo-commando van dichterbij en leert u enkele van de meest bruikbare praktijkvoorbeelden ervan.
Klaar? Blijf afgestemd en herzie uw idee van het echo-commando!
Vereiste
Deze zelfstudie omvat praktische demonstraties. Om mee te doen, hebt u alleen een Ubuntu-machine nodig. Deze zelfstudie maakt gebruik van Ubuntu 20.04, maar andere Linux-distributies werken ook.
Teksten afdrukken met het echo-commando in de Bash-shell
Wanneer u aan het echo-commando denkt, is het eerste wat in u opkomt het afdrukken van tekenreeksen naar de console. Ja, het echo-commando retourneert tekenreeksen rechtstreeks vanuit een opdracht of script.
Maar later in deze zelfstudie zult u het echo-commando vanuit een ander perspectief zien. Voor nu, bekijk hoe deze opdracht tekenreeksen naar de console afdrukt.
De syntaxis voor het echo-commando is als volgt waar:
- string – de tekst om af te drukken.
- opties – de optionele argumenten die u kunt opgeven om de uitvoer te wijzigen.
Voer het onderstaande echo-commando zonder toegevoegde opties uit om een eenvoudige tekst naar de console af te drukken. Deze opdracht geeft de tekenreeks door als argument aan het echo-commando.

Terugdringen van Trailing Newlines in Tekenreeksen
De echo-opdracht voegt standaard een nieuwe regel toe aan het einde van elke string. Hierdoor worden bij het afdrukken van meerdere strings, die mogelijk aan elkaar worden gekoppeld, elke string op een nieuwe regel afgedrukt.
De -n optie onderdrukt de nieuwe regels aan het einde, waardoor de echo-opdracht meerdere strings op één regel kan afdrukken. Deze optie kan bijvoorbeeld handig zijn bij het afdrukken van voortgangsbalken naar de console.
Voer de onderstaande opdracht uit om Voortgang: en 50% af te drukken.
Hieronder zie je dat nieuwe regels de twee strings scheiden.

Voer nu de volgende opdracht uit, waarbij je de -n optie toevoegt, om de strings Voortgang: en 50% af te drukken.
Zoals je hieronder kunt zien, staan beide strings nu op één regel omdat je de -n optie hebt gebruikt om de nieuwe regels te onderdrukken.

Variabele Waarden Afdrukken
Bij het schrijven van een script sla je meestal tijdelijk een waarde op in een variabele, die je kunt afdrukken met de echo-opdracht. Deze functie kan handig zijn bij het controleren van de waarde van een variabele om een shellscript te debuggen.
Voer de onderstaande opdrachten uit om de waarde van de variabele ‘number’ in te stellen op 10 en de waarde naar de console af te drukken (echo).

Interpreteren van Escape-reeksen
Een escape-reeks is een reeks karakters die een speciaal karakter voorstellen, en je kunt de -e optie gebruiken om escape-reeksen te interpreteren.
Bijvoorbeeld, de \t escape sequence vertegenwoordigt een tabteken. Als je de -e optie gebruikt en \t naar de console print, zal \t geïnterpreteerd worden als een tabteken in plaats van letterlijk afgedrukt te worden.
Enkele van de meest voorkomende escape sequences zijn als volgt:
Escape Sequence | Function |
\b | backspace |
\t | tab |
\n | new line |
\\ | backslash |
\$ | dollar sign |
Voer de volgende opdracht uit om Hello\tWorld naar de console te printen.
Je kunt hieronder zien dat het echo-commando de string Hello\tWorld afdrukte zoals hij is.

Voer nu de onderstaande opdracht uit om Hello\tWorld af te drukken, voeg de -e optie toe om \t te interpreteren als een tabteken ertussen.
Let op het enorme gat tussen het woord Hello en World hieronder.

Teksten invoegen op een nieuwe regel
Het afdrukken van een lange enkele regel tekst maakt het voor een gebruiker moeilijk om deze in zijn geheel te lezen. Gelukkig laat de \n optie je een nieuwe regel karakter toevoegen in het midden van een tekst. Deze optie wordt vaak gebruikt bij het afdrukken van meerdere regels tekst naar de console, wat duidelijkheid geeft aan de werkelijke tekst.
Voer de onderstaande opdracht uit om de string Echo-commando bash\nNog een regel af te drukken, waarbij de \n optie de string in twee regels opbreekt.
Hieronder zie je dat de \n optie de string Nog een regel naar een nieuwe regel heeft gezet.

Teksten invoegen tussen regels
Je hebt gezien hoe de \t escape sequence een horizontaal tabteken plaatst tussen teksten. Maar hoe zit het met een verticale tab? De \v optie laat je strings scheiden met verticale tabtekens, wat perfect is voor het maken van tekstbanners.
Deze optie wordt vaak gebruikt bij het afdrukken van meerdere kolommen tekst naar de console, waarbij elke kolom op een nieuwe regel staat met een nieuwe tabruimte aan het begin.
Voer de onderstaande opdracht uit om de tekst Echo-opdracht bash demo af te drukken, maar met verticale tabbladen (\v) tussen elk woord.

Bestandsnamen afdrukken op basis van extensie
Als u op zoek bent naar een manier om bestanden met een specifiek bestand type te vinden, werkt deze functie van de echo-opdracht op dezelfde manier. De echo-opdracht ondersteunt het vermelden van bestanden in een map met een bepaalde extensie met het jokerteken (*).
1. Voer de volgende opdracht uit om alle bestanden af te drukken die eindigen op de .txt-extensie in de huidige map.

2. Voer vervolgens de onderstaande opdracht uit om alle bestanden af te drukken die eindigen op de .deb-bestandsextensie in de huidige map.

3. Voer tot slot de onderstaande opdracht uit om de bestanden met de .txt-extensie in de map ~/Downloads af te drukken. U kunt ~/Downloads/ vervangen door het werkelijke pad van uw bestand.
U kunt hieronder zien dat de echo-opdracht het specificeren van een map ondersteunt waar uw bestanden zich bevinden.

Output naar bestand schrijven
Wanneer uw opdracht een enorme uitvoer retourneert, kunt u nauwelijks alles op de console lezen. Het is een goed idee om de uitvoer in plaats daarvan naar een bestand te schrijven. Maar hoe? Naast het afdrukken van teksten op de console, ondersteunt de echo-opdracht ook het direct schrijven van uitvoer naar een bestand.
Voer de onderstaande opdracht uit, die geen uitvoer geeft omdat de uitvoer (>) naar een bestand genaamd echo-bash.txt wordt geschreven in plaats daarvan.
Merk op dat als het bestand echo-bash.txt al bestaat, het zal worden overschreven met de nieuwe inhoud.
Voer nu de volgende cat-opdracht uit om de inhoud van het bestand echo-bash.txt te bekijken.
Zoals je hieronder kunt zien, wordt de uitvoer van de echo-opdracht naar het bestand echo-bash.txt geschreven.

Uitvoer Toevoegen aan Bestaande Bestanden
Zoals eerder vermeld, overschrijft de >-operator een bestaand bestand met nieuwe inhoud. Maar wat als u de uitvoer wilt toevoegen aan een bestaand bestand in plaats van het te overschrijven?
Gebruik in plaats van een enkele >-operator twee >>. Deze functie helpt bij het behouden van de bestaande inhoud en het toevoegen van nieuwe vermeldingen aan het einde van het bestand.
Voer de onderstaande opdracht uit om nieuwe teksten (tekst toevoegen) aan het bestaande bestand echo-bash.txt toe te voegen met de >>-operator.
Voer nu de volgende cat-opdracht uit om de inhoud van het bestand echo-bash.txt te bekijken.
Zoals je hieronder kunt zien, wordt de uitvoer van de echo-opdracht toegevoegd aan het bestand zonder iets te overschrijven.

Conclusie
De echo-opdracht in de bash-shell is een eenvoudig maar krachtig hulpmiddel dat op vele manieren kan worden gebruikt. En in deze zelfstudie heb je geleerd hoe je het potentieel van de echo-opdracht kunt maximaliseren met enkele van zijn meest populaire opties.
Het afdrukken van teksten naar de console is niet alleen meer ’teksten afdrukken’. Je hebt gezien hoe je uitvoer naar een bestand kunt schrijven, uitvoer kunt toevoegen en hoe je het uiterlijk van elke afgedrukte tekst kunt veranderen.
Waarom zou je niet een paar manieren kiezen waarop je de echo-opdracht kunt gebruiken en ze op je scripts kunt schrijven? Kijk welke creatieve manieren je kunt bedenken!