echo (Befehl)

echo begann in Multics. Nachdem es von Doug McIlroy als „Fingerübung“ in C programmiert worden war und sich als nützlich erwiesen hatte, wurde es Teil von Version 2 Unix. echo -n in Version 7 ersetzte prompt (das sich wie echo verhielt, jedoch ohne die Ausgabe zu beenden mit einem Zeilenbegrenzer).

Unter PWB / UNIX und höher unter Unix System III begann echo mit der Erweiterung von C-Escape-Sequenzen wie \n mit dem bemerkenswerten Unterschied, dass oktale Escape-Sequenzen als \0ooo anstelle von \ooo in C

Achte Edition Unix echo hat die Escape-Erweiterung nur ausgeführt, wenn eine -e -Option übergeben wurde, und dieses Verhalten wurde von einigen anderen Implementierungen wie z Der integrierte Befehl echo von Bash oder zsh und GNU echo.

Unter MS-DOS ist der Befehl verfügbar in Versionen 2 und höher.

Heutzutage existieren mehrere inkompatible Implementierungen von echo auf verschiedenen Betriebssystemen (oft mehrere auf demselben) System), einige von ihnen erweitern standardmäßig Escape-Sequenzen, einige nicht, einige akzeptieren Optionen (deren Liste je nach Implementierung variiert), andere nicht.

Die POSIX-Spezifikation von echo lässt das Verhalten nicht angegeben, wenn das erste Argument -n ist oder ein Argument Backslash-Zeichen enthält, während die Unix-Spezifikation (XSI-Option in POSIX) die Erweiterung vorschreibt von (einigen) Sequenzen und erlaubt keine Optionsverarbeitung. In der Praxis sind viele echo -Implementierungen in der Standardumgebung nicht kompatibel.

Aufgrund dieser Verhaltensunterschiede ist echo wird auf Unix-ähnlichen Systemen als nicht portabler Befehl angesehen, und stattdessen wird der Befehl printf (sofern verfügbar, eingeführt von Nix Edition Unix) bevorzugt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.