GNU/Linux >> Tutoriels Linux >  >> Linux

Restauration de stdout et stderr à la valeur par défaut

Cet exemple

Exemple 20-2. Redirection de stdout à l'aide de 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

apparaît pour montrer ce que vous voulez. Il est venu de l'ABS, où il y a une petite quantité de discussions et d'autres informations pertinentes.


Linux
  1. Configurer le shell pour imprimer Stderr et Stdout dans différentes couleurs ?

  2. ${!foo} Et Zsh ?

  3. Afficher uniquement Stderr à l'écran, mais écrire à la fois Stdout et Stderr dans un fichier ?

  4. bash :redirige stderr vers le fichier et stdout + stderr vers l'écran

  5. Capture de STDERR et STDOUT dans un fichier à l'aide de tee

Confus à propos de stdin, stdout et stderr ?

Shell :redirige stdout vers /dev/null et stderr vers stdout

Bash Shell Script - Recherchez un indicateur et saisissez sa valeur

La valeur de hachage MD5 est différente de Bash et PHP

Délai d'expiration du cache arp par défaut

echo ou print /dev/stdin /dev/stdout /dev/stderr