GNU/Linux >> Belajar Linux >  >> Linux

Tentukan apakah outputnya stdout atau stderr

Hanya ada tiga cara yang saya tahu untuk menentukan program apa yang akan dihasilkan ke STDOUT dan apa ke STDERR

  1. Baca dokumentasinya. Atau

  2. Bereksperimenlah dengan pengalihan†

  3. cetak STDERR dengan warna merah

†Misalnya:

program > program.stdout 2> program.stderr

Kemudian lihat dua file keluaran untuk melihat apa yang ditulis program ke STDOUT dan apa yang ditulisnya ke STDERR.

Alih-alih pengalihan, Anda dapat menyalurkan ke tee jika Anda membutuhkan keluaran untuk melanjutkan ke layar dan juga ke dalam file. Lihat https://stackoverflow.com/q/692000/477035


Berdasarkan permintaan komentar Anda:

{ { command; } 2>&3 | sed 's/^/STDOUT: /'; } 3>&1 1>&2 | sed 's/^/STDERR: /'

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

  2. Bagaimana Cara Mengarahkan Output Program Ke File Zip??

  3. Apa Yang Dimaksud Dengan Menghubungkan Stdout Dan Stdin?

  1. Menutup Output Standar (>&-)?

  2. Bagaimana Mengenalinya Jika Output Dari Perintah Atau Skrip Shell Adalah Stdout Atau Stderr?

  3. Apakah Laporan Kemajuan/Informasi logging Milik Stderr Atau Stdout?

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

  2. pengalihan keluaran on-the-fly, melihat keluaran pengalihan file saat program masih berjalan

  3. Redirect semua output ke file di Bash