GNU/Linux >> Belajar Linux >  >> Linux

Memulihkan stdout dan stderr ke nilai default

Contoh ini

Contoh 20-2. Mengarahkan ulang stdout menggunakan 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

muncul untuk menunjukkan apa yang Anda inginkan. Itu berasal dari ABS, di mana terdapat sedikit diskusi dan informasi relevan lainnya.


Linux
  1. Konfigurasikan Shell Untuk Mencetak Stderr Dan Stdout Dalam Berbagai Warna?

  2. ${!foo} Dan Zsh?

  3. Bagaimana Cara Mengarahkan Stderr Dan Stdout Ke File Yang Berbeda Dan Juga Ditampilkan Di Terminal?

  1. Bagaimana proses mencegat stdout dan stderr dari proses lain di Linux?

  2. Apakah mungkin membuat keluaran stdout dan stderr menjadi warna berbeda di XTerm atau Konsole?

  3. Gema ke stdout dan stderr

  1. Apakah aman untuk menonaktifkan buffering dengan stdout dan stderr?

  2. Shell:redirect stdout ke /dev/null dan stderr ke stdout

  3. Skrip Bash Shell - Periksa bendera dan ambil nilainya