GNU/Linux >> Belajar Linux >  >> Linux

bash:redirect stderr ke file dan stdout + stderr ke layar

Dengan bash baru-baru ini, Anda dapat menggunakan substitusi proses.

foo 2> >(tee stderr.txt)

Ini hanya mengirimkan stderr ke tee program yang sedang berjalan.

Lebih mudah dibawa

exec 3>&1 
foo 2>&1 >&3 | tee stderr.txt

Ini membuat deskriptor file 3 menjadi salinan dari stdout saat ini (yaitu layar), lalu menyiapkan pipa dan menjalankan foo 2>&1 >&3 . Ini mengirimkan stderr dari foo ke tempat yang sama dengan stdout saat ini, yang merupakan pipa, kemudian mengirimkan stdout ke fd 3, output aslinya. Pipa memasukkan stderr asli dari foo ke tee, yang menyimpannya dalam file dan mengirimkannya ke layar.


Linux
  1. Redirect semua output ke file di Bash

  2. Gema ke stdout dan stderr

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

  1. Cara Mengarahkan Output ke File dan Stdout di Linux

  2. Output perintah dialihkan ke file dan terminal

  3. Menangkap STDERR dan STDOUT ke file menggunakan tee

  1. Cara Mengarahkan Keluaran Program Dan Masih Melanjutkannya ke Stdout?

  2. Bagaimana Cara Mengarahkan Hanya Stderr?

  3. Tampilkan Hanya Stderr Di Layar Tetapi Tulis Stdout Dan Stderr Ke File?