GNU/Linux >> Tutoriales Linux >  >> Linux

Restaurar stdout y stderr al valor predeterminado

Este ejemplo

Ejemplo 20-2. Redirigir stdout usando 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

aparece para mostrar lo que quieres. Provino del ABS, donde hay una pequeña cantidad de discusión y otra información relevante.


Linux
  1. Barra oblicua y barra invertida en Sed?

  2. ¿Cómo puede un proceso interceptar stdout y stderr de otro proceso en Linux?

  3. ¿Es seguro deshabilitar el almacenamiento en búfer con stdout y stderr?

  4. Canalización de stdout y stderr dentro de una regla Makefile

  5. Shell:redirigir stdout a /dev/null y stderr a stdout

¿Confundido acerca de stdin, stdout y stderr?

Eco para stdout y stderr

El valor hash MD5 es diferente de Bash y PHP

Tiempo de espera de caché arp predeterminado

bash:redirigir stderr al archivo y stdout + stderr a la pantalla

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr