Befehl "echo"

Zweck

Schreibt Zeichenfolgen in die Standardausgabe.

Syntax

Echo [ Zeichenfolge ... ]

Beschreibung

Der Befehl Echo schreibt Zeichenfolgen in die Standardausgabe. Zeichenfolges werden durch Leerzeichen getrennt und nach dem letzten angegebenen Parameter Zeichenfolge folgt ein Zeilenvorschubzeichen. Wenn kein Parameter Zeichenfolge angegeben wird, wird eine Leerzeile (Zeilenvorschubzeichen) angezeigt.

Normalerweise könnte man zwischen einer Markierung und einer Zeichenfolge, die mit einem Bindestrich beginnt, unterscheiden, indem man einen -- (doppelten Bindestrich) verwendet. Da der Befehl echo keine Markierungen unterstützt, wird ein -- (doppelter Bindestrich) wörtlich genommen.

Der Befehl echo erkennt die folgenden Escapevereinbarungen:

Element Beschreibung
\a Zeigt ein Alertzeichen an.
\b Zeigt ein Rücksetzzeichen an.
\n Unterdrückt das Zeilenvorschubzeichen, das sonst dem letzten Argument in der Ausgabe folgt. Alle Zeichen, die der Sequenz c folgen, werden ignoriert.
\f Zeigt ein Formularvorschubzeichen an.
\n Zeigt ein Zeilenvorschubzeichen an.
\r Zeigt ein Rücklaufzeichen an.
\t Zeigt ein Tabulatorzeichen an.
\v Zeigt einen Vertikaltabulator an.
\\ Zeigt ein Backslash-Zeichen an.
\0Zahl Zeigt ein 8-Bit-Zeichen an, dessen ASCII-Wert eine 0-, 1-, 2- oder 3-stellige Oktalzahl ist.
Anmerkung: Die Befehle BSH, Kshund CSH enthalten jeweils einen integrierten Unterbefehl Echo . Der Befehl echo und die Unterbefehle bsh und ksh echo funktionieren auf die gleiche Weise. Der Unterbefehl csh echo funktioniert nicht wie der Befehl echo.

Der Backslash (\) ist in der Shell ein Anführungszeichen. Dies bedeutet Folgendes: Es sei denn, das Zeichen \ wird mit einem Escapezeichen verwendet oder in Anführungszeichen eingeschlossen. Beispiel:"\"oder'\'entfernt die Shell die umgekehrten Schrägstriche, wenn der Befehl erweitert wird.

Nach der Shellerweiterung schreibt der Befehl echo die Ausgabe basierend auf den Escapezeichenfolgen in die Eingabe. In der Tabelle "Backslashreduktion" wird anhand eines Beispiels gegenübergestellt, wie Backslashes in einem Befehl zuerst von der Shell und dann vom Befehl echo reduziert werden:

Backslashreduktion
Eingegebener Befehl Nach der Shellerweiterung Nach der Verarbeitung durch den Befehl echo
echo hi\\\\there echo hi\\there hi\there
echo 'hi\\\\there' echo 'hi\\\\there' hi\\there
echo "hi\\\\there' echo "hi\\there" hi\there

Exitstatus

Dieser Befehl gibt die folgenden Exitwerte zurück:

Element Beschreibung
0 Erfolgreiche Ausführung.
>0 Es ist ein Fehler aufgetreten.

Beispiele

  1. Geben Sie Folgendes ein, um eine Nachricht in die Standardausgabe zu schreiben:
    echo Please insert diskette . . .
  2. Geben Sie Folgendes ein, um eine Nachricht mit Sonderzeichen anzuzeigen:
    echo "\n\n\nI'm at lunch.\nI'll be back at 1:00."
    Es werden drei Zeilen übersprungen und es wird die folgende Nachricht angezeigt:
    I'm at lunch.
    I'll be back at 1:00.

    Anmerkung: Sie müssen die Nachricht in Anführungszeichen einschließen, wenn sie Escapezeichen enthält. Andernfalls interpretiert die Shell den Backslash (\) als Metazeichen und behandelt den Backslash (\) anders.

  3. Geben Sie Folgendes ein, um den Befehl Echo mit Platzhalterzeichen zu verwenden:
    echo The back-up files are: *.bak
    Diese Syntax zeigt die Nachricht anThe back-up files are:gefolgt von den Dateinamen im aktuellen Verzeichnis, die auf.bak.
  4. Geben Sie Folgendes ein, um einer Datei eine einzelne Textzeile hinzuzufügen:
    echo Remember to set the shell search path to $PATH. >>notes
    Bei dieser Verwendung dieses Befehls wird die Nachricht am Ende der Dateianmerkungen hinzugefügt, nachdem die Shell den Wert der Shellvariablen PATH ersetzt hat.
  5. Geben Sie Folgendes ein, um eine Nachricht in die Standardfehlerausgabe zu schreiben:
    echo Error: file already exists. >&2
    Dieser Befehl leitet die Fehlernachricht an die Standardfehlerausgabe weiter. Wenn >&2 weggelassen wird, wird die Nachricht in die Standardausgabe geschrieben.

Datei

Element Beschreibung
/usr/bin/echo Enthält den Befehl echo.