Saya tahu banyak tentang ini:
$ command 2>> error
$ command 1>> output
Apakah ada cara saya bisa output stderr ke file kesalahan dan output stdout ke file output di baris yang sama bash?
Cukup tambahkan mereka dalam satu baris command 2>> error 1>> output
Namun, perhatikan itu >>
untuk menambahkan jika file sudah memiliki data. Padahal, >
akan menimpa data yang ada dalam file.
Jadi, command 2> error 1> output
jika Anda tidak ingin menambahkan.
Hanya demi selesai, Anda dapat menulis 1>
sebagai hanya >
karena file default descriptor adalah output. begitu 1>
dan >
merupakan hal yang sama.
Jadi, command 2> error 1> output
menjadi,command 2> error > output
1>
dapat ditulis sebagai>
command &2>err.log
, saya pikir saya benar-benar membingungkan sintaksis. (Tautan ke jawaban yang tepat dari semua bash pipe-isme mungkin sudah beres)command &2>err.log
tidak cukup sah - ampersand dalam sintaks yang digunakan untuk deskriptor file sebagai target, misalnyacommand 1>&2
akan mengubah rute stdout ke stderr.Coba ini:
Informasi lebih lanjut
Angka
0
melalui9
adalah deskriptor file dalam bash.0
singkatan dari input standar,1
singkatan dari output standar,2
singkatan dari standard error.3
melalui9
adalah cadangan untuk penggunaan sementara lainnya.Deskriptor file apa pun dapat dialihkan ke file atau deskriptor file lain menggunakan operator
>
. Anda bisa menggunakan operator>>
untuk menambahkan file daripada membuat yang kosong.Pemakaian:
Silakan merujuk ke Panduan Bash-Scripting Lanjutan: Bab 20. I / O Redirection .
sumber
Seperti itu:
sumber
Atau jika Anda ingin mencampur output (stdout & stderr) dalam satu file tunggal, Anda mungkin ingin menggunakan:
sumber
Output beberapa perintah 'dapat diarahkan. Ini berfungsi baik untuk baris perintah atau paling berguna dalam skrip bash. The
-s
mengarahkan password prompt untuk layar.Stdout / stderr cmds Hereblock dikirim ke file terpisah dan tidak ada yang ditampilkan.
Stdout / stderr cmds Hereblock dikirim ke satu file dan tampilan.
Stdout / stderr cmds Hereblock dikirim ke file terpisah dan stdout untuk ditampilkan.
Tergantung pada siapa Anda (whoami) dan nama pengguna, kata sandi mungkin diperlukan atau tidak diperlukan.
sumber