Tekst naar het scherm uitvoeren met behulp van het Linux Echo-commando
Deze handleiding laat zien hoe u tekst kunt uitvoeren naar de terminalvenster de... gebruiken Linux echo commando.
Op zichzelf gebruikt in de terminal is het echo-commando niet bijzonder nuttig, maar wanneer het als onderdeel van het script wordt gebruikt, kan het worden gebruikt om instructies, fouten en meldingen weer te geven.
Voorbeeldgebruik van het Linux Echo-commando
In zijn eenvoudigste vorm is de eenvoudigste manier om tekst naar de terminal uit te voeren als volgt:
echo "hallo wereld"
Het bovenstaande commando geeft de woorden "Hallo Wereld" naar het scherm (minus de aanhalingstekens).
Standaard voert de echo-instructie een nieuw regelteken uit aan het einde van de tekenreeks.
Probeer de volgende instructie in een terminalvenster om dit te testen:
echo "hallo wereld" && echo "tot ziens wereld"
U zult zien dat het resultaat als volgt is:
Hallo Wereld
vaarwel wereld
U kunt het nieuwe regelteken weglaten door de min-schakelaar (-n) als volgt toe te voegen:
echo -n "hallo wereld" && echo "tot ziens wereld"
Het resultaat van de bovenstaande opdracht is als volgt:
hallo wereld vaarwel wereld
Speciale tekens gebruiken
Een ander ding om over na te denken bij het gebruik van de echo-instructie, is hoe deze met speciale tekens omgaat.
Probeer bijvoorbeeld het volgende in een terminalvenster:
echo "hallo wereld\r\ntot ziens wereld"
In een ideale wereld zouden de \r en \n fungeren als speciale tekens om een nieuwe regel toe te voegen, maar dat doen ze niet. Het resultaat is als volgt:
hallo wereld\r\ntot ziens wereld
U kunt speciale tekens inschakelen met behulp van het echo-commando door de schakeloptie -e als volgt op te nemen:
echo -e "hallo wereld\r\ntot ziens wereld"
Dit keer is het resultaat als volgt:
Hallo Wereld
vaarwel wereld
U kunt zich natuurlijk in de situatie bevinden waarin u een tekenreeks probeert uit te voeren die als een speciaal teken zou worden behandeld en u wilt dat niet. Gebruik in dit scenario een hoofdletter e als volgt:
echo -E "hallo wereld\r\ntot ziens wereld"
Welke speciale tekens worden verwerkt met de schakeloptie -e?
- \\ backslash
- \een waarschuwing
- \b backspace
- \c produceer geen verdere output
- \e ontsnappen
- \f formulierfeed
- \n nieuwe regel
- \r regelterugloop
- \t horizontale tab
- \v verticale tab
- \ 0NNN octale waarde met 1 tot 3 cijfers
- \xHH byte met hexadecimale waarde
Laten we er een paar uitproberen. Voer het volgende uit: commando in een terminal:
echo -e "hel\blo wereld"
De bovenstaande opdracht zou het volgende opleveren:
hel wereld
Het is duidelijk niet echt wat je op het scherm zou willen uitvoeren, maar je begrijpt dat backslash b de voorgaande letter verwijdert.
Probeer nu het volgende in een terminalvenster:
echo -e "hallo\c wereld"
Deze opdracht voert alles uit tot de backslash en c. Al het andere wordt weggelaten, inclusief de nieuwe regel.
Lijnkarakter en koetsretour
Dus wat is het verschil tussen een nieuw regelteken en een regelterugloop? Het nieuwe regelteken verplaatst de cursor naar de volgende regel, terwijl de regelterugloop de cursor terug naar de linkerkant verplaatst.
Voer als voorbeeld het volgende in uw terminalvenster in:
echo -e "hallo\nwereld"
De uitvoer van de bovenstaande opdracht plaatst de twee woorden op verschillende regels:
Hallo
wereld-
Probeer dit nu eens in een terminalvenster:
echo -e "hallo\rwereld"
Het verschil tussen een nieuwe regel en een regelterugloop zal heel duidelijk worden, aangezien het volgende als uitvoer wordt weergegeven:
wereld-
Het woord hallo werd weergegeven, de regelterugloop bracht de cursor naar het begin van de regel en het woord wereld werd weergegeven.
Het wordt een beetje duidelijker als je het volgende probeert:
echo -e "hallo\rhi"
De output van het bovenstaande is als volgt:
Hallo.
In werkelijkheid gebruiken veel mensen nog steeds de \r\n-notatie bij het uitvoeren naar een nieuwe regel. Vaak kom je echter al weg met een \n.