echo (commando)

echo begon binnen Multics. Nadat het door Doug McIlroy in C was geprogrammeerd als een “vingeroefening” en nuttig bleek te zijn, werd het onderdeel van Versie 2 Unix. echo -n verving in versie 7 prompt, (die zich gedroeg als echo maar zonder de uitvoer te beëindigen met een lijnscheidingsteken).

Op PWB / UNIX en later Unix System III, echo begon C-escape-reeksen uit te breiden, zoals \n met het opmerkelijke verschil dat octale escape-reeksen werden uitgedrukt als \0ooo in plaats van \ooo in C.

Achtste editie Unix echo deed alleen de ontsnappingsuitbreiding wanneer een -e -optie werd doorgegeven, en dat gedrag werd gekopieerd door een paar andere implementaties, zoals het ingebouwde echo commando van Bash of zsh en GNU echo.

Op MS-DOS is het commando beschikbaar in versie 2 en later.

Tegenwoordig bestaan er verschillende incompatibele implementaties van echo op verschillende besturingssystemen (vaak meerdere op dezelfde systeem), sommige breiden standaard escape-sequenties uit, sommige niet, sommige accepteren opties (waarvan de lijst varieert met implementaties), sommige niet.

De POSIX-specificatie van echo laat het gedrag ongespecificeerd als het eerste argument -n is of elk argument backslash-tekens bevat terwijl de Unix-specificatie (XSI-optie in POSIX) de uitbreiding verplicht stelt van (sommige) sequenties en staat geen optieverwerking toe. In de praktijk zijn veel echo implementaties niet compatibel in de standaardomgeving.

Vanwege deze variaties in gedrag, echo wordt beschouwd als een niet-draagbaar commando op Unix-achtige systemen en het printf commando (indien beschikbaar, geïntroduceerd door Ninth Edition Unix) heeft in plaats daarvan de voorkeur.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *