GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wiederherstellen von stdout und stderr auf die Standardwerte

Dieses Beispiel

Beispiel 20-2. Umleitung von stdout mit exec

#!/bin/bash
# reassign-stdout.sh

LOGFILE=logfile.txt

exec 6>&1           # Link file descriptor #6 with stdout.
                    # Saves stdout.

exec > $LOGFILE     # stdout replaced with file "logfile.txt".

# ----------------------------------------------------------- #
# All output from commands in this block sent to file $LOGFILE.

echo -n "Logfile: "
date
echo "-------------------------------------"
echo

echo "Output of \"ls -al\" command"
echo
ls -al
echo; echo
echo "Output of \"df\" command"
echo
df

# ----------------------------------------------------------- #

exec 1>&6 6>&-      # Restore stdout and close file descriptor #6.

echo
echo "== stdout now restored to default == "
echo
ls -al
echo

exit 0

scheint zu zeigen, was Sie wollen. Es kam von der ABS, wo es eine kleine Diskussion und andere relevante Informationen gibt.


Linux
  1. ${!foo} Und Zsh?

  2. Wie kann man Stderr und Stdout in verschiedene Dateien umleiten und auch im Terminal anzeigen?

  3. Slash und Backslash in Sed?

  4. Wie kann ein Prozess stdout und stderr eines anderen Prozesses unter Linux abfangen?

  5. Ist es möglich, die Ausgabe von stdout und stderr in XTerm oder Konsole in unterschiedlichen Farben auszuführen?

Verwirrt über stdin, stdout und stderr?

Ist es möglich, dass der Linux-Dateideskriptor 0 1 2 nicht für stdin, stdout und stderr gilt?

Der MD5-Hashwert unterscheidet sich von Bash und PHP

bash:leite stderr auf Datei und stdout + stderr auf Bildschirm um

echo oder print /dev/stdin /dev/stdout /dev/stderr

Erfassen von STDERR und STDOUT in einer Datei mit tee