Echo (Befehl) - echo (command)
Originalautor(en) |
Douglas McIlroy ( AT&T Bell Laboratories ) |
---|---|
Entwickler | Verschiedene Open-Source- und kommerzielle Entwickler |
Betriebssystem | Multics , Unix , Unix-like , V , Plan 9 , Inferno , FLEX , TRIPOS , AmigaDOS , Z80-RIO , OS-9 , DOS , MSX-DOS , Panos , FlexOS , SISNE plus , OS/2 , Windows , ReactOS , MPE/iX , KolibriOS , SymbOS |
Plattform | Plattformübergreifend |
Typ | Befehl |
In der Berechnung , echo
ist ein Befehl , der die Zeichenfolgen ausgibt, die sie als übergeben werden , Argumente . Es ist ein Befehl, der in verschiedenen Betriebssystem- Shells verfügbar ist und normalerweise in Shell-Skripten und Batch-Dateien verwendet wird, um Statustext auf dem Bildschirm oder einer Computerdatei oder als Quellteil einer Pipeline auszugeben .
Implementierungen
Der Befehl ist in den folgenden Betriebssystemen verfügbar:
- Multics
- TSC FLEX
- MetaComCo TRIPOS
- Zilog Z80-RIO
- Microware OS-9
- DOS
- Acorn Computers Panos
- Digitale Forschung FlexOS
- IBM OS/2
- Microsoft Windows
- ReactOS
- HP MPE/iX
- KolibriOS
- SymbOS
- Unix und Unix-ähnliche Betriebssysteme
Viele Shells, darunter alle Bourne- ähnlichen (wie Bash oder zsh ) und Csh- ähnlichen Shells sowie COMMAND.COM und cmd.exe implementieren echo
als eingebauten Befehl .
Der Befehl ist auch in der EFI-Shell verfügbar .
Geschichte
echo
begann innerhalb von Multics . Nachdem es von Doug McIlroy als "Fingerübung" in C programmiert wurde und sich als nützlich erwies, wurde es Teil von Version 2 Unix . in Version 7 ersetzt , (verhielt sich wie, aber ohne die Ausgabe mit einem Zeilentrennzeichen zu beenden).
echo -n
prompt
echo
Auf PWB / UNIX und später Unix System III , echo
erweitern gestartet C - Escape - Sequenzen wie \n
mit dem bemerkenswerten Unterschied , dass Oktal - Escape - Sequenzen exprimiert wurden \0ooo
statt \ooo
in C.
Achte Edition Unix echo
führte die Escape-Erweiterung nur durch, wenn eine -e
Option übergeben wurde, und dieses Verhalten wurde von einigen anderen Implementierungen wie dem eingebauten echo
Befehl von Bash oder zsh und GNU kopiert echo
.
Unter MS-DOS ist der Befehl in Version 2 und höher verfügbar.
Heutzutage existieren mehrere inkompatible Implementierungen von echo
auf verschiedenen Betriebssystemen (oft mehrere auf demselben System), einige von ihnen erweitern standardmäßig Escape-Sequenzen, andere nicht, einige akzeptieren Optionen (deren Liste je nach Implementierung variiert), einige von ihnen nicht.
Die POSIX- Spezifikation von echo
lässt das Verhalten unspezifiziert, wenn das erste Argument ist -n
oder irgendein Argument Backslash-Zeichen enthält, während die Unix-Spezifikation (XSI-Option in POSIX) die Erweiterung von (einigen) Sequenzen vorschreibt und keine Optionsverarbeitung zulässt. In der Praxis sind viele echo
Implementierungen in der Standardumgebung nicht konform.
Aufgrund dieser Verhaltensvariationen wird echo
es auf Unix-ähnlichen Systemen als nicht tragbarer Befehl angesehen und der printf
Befehl (wo verfügbar, eingeführt von Ninth Edition Unix) stattdessen bevorzugt.
Anwendungsbeispiele
C:\>echo Hello world
Hello world
Unter Verwendung von ANSI-Escape-Code- SGR- Sequenzen können kompatible Terminals farbigen Text ausdrucken.
Verwenden einer Implementierung im Stil von UNIX System III :
BGRED=`echo "\033[41m"`
FGBLUE=`echo "\033[35m"`
BGGREEN=`echo "\033[42m"`
NORMAL=`echo "\033[m"`
Oder eine Implementierung im Stil von Unix Version 8 (wie Bash, wenn nicht im Unix-Konformitätsmodus):
BGRED=`echo -e "\033[41m"`
FGBLUE=`echo -e "\033[35m"`
BGGREEN=`echo -e "\033[42m"`
NORMAL=`echo -e "\033[m"`
und danach:
echo "${FGBLUE} Text in blue ${NORMAL}"
echo "Text normal"
echo "${BGRED} Background in red"
echo "${BGGREEN} Background in Green and back to Normal ${NORMAL}"
Tragbar mit printf
:
BGRED=`printf '\33[41m'`
NORMAL=`printf '\33[m'`
printf '%s\n' "${BGRED}Text on red background${NORMAL}"
Siehe auch
Verweise
Weiterlesen
- Wolverton, Van (1990). MS-DOS-Befehle: Microsoft Quick Reference, 4. überarbeitete Ausgabe . Microsoft-Presse . ISBN 978-1556152894.
- Kathy Ivens; Brian Proffit (1993). OS/2 von innen und außen . Osborne McGraw-Hill . ISBN 978-0078818714.
- Frisch, leen (2001). Pocket-Referenz für Windows 2000-Befehle . O'Reilly . ISBN 978-0-596-00148-3.
Externe Links
- The Single UNIX Specification , Issue 7 von The Open Group : Argumente in die Standardausgabe schreiben – Commands & Utilities Reference,
- Plan 9 Programmierhandbuch, Band 1 –
- Inferno Allgemeine Befehle Handbuch –
- Microsoft TechNet Echo-Artikel