Pengaturcaraan BASH

Cara Mengalihkan stderr ke stdout di Bash

Cara Mengalihkan stderr ke stdout di Bash
Perintah di Linux mengambil beberapa input dari pengguna, yang dapat berupa file atau atribut apa pun, dan setelah dijalankan, mereka memberikan beberapa output yang disebut output standar. Output standard boleh menjadi output kejayaan atau output kesalahan; kedua-duanya akan dipaparkan di skrin terminal anda. Tetapi dalam beberapa kes, anda ingin menyimpan output standard ke fail untuk pengujian atau penyahpepijatan kod. Di Linux, output ini dapat dialihkan ke file, dan proses menangkapnya disebut redirection.

Setiap proses Di Linux menghasilkan tiga aliran data, "stdin," "stdout," dan "stderr":

Setiap aliran data mempunyai id berangka:

Id Berangka Nama
0 stdin
1 stdout
2 stderr

Mari terangkan pengalihan sedikit lebih terperinci:

Cara mengarahkan semula output Standard dan ralat Standard dalam Bash:

Untuk mengarahkan output standard perintah, kami akan menggunakan "1" dengan operator pengalihan yang lebih besar daripada tanda ">":

$ ls 1> stdout.txt

Perintah di atas akan membuat fail dan meletakkan output standard perintah "ls" di "stdout.fail txt ”.

Untuk membaca “stdout.fail txt ”, gunakan:

$ kucing stdout.txt

Kita boleh mengarahkan kesalahan standard ke fail juga dengan menggunakan perintah:

$ kucing myfile.txt 2> stderr.txt

Untuk melihat “stderr.fail txt ”, gunakan:

$ kucing stderr.txt

Pastikan penggunaan "2" akan lebih besar daripada tanda ">". Oleh kerana tidak ada "myfile.txt "dalam direktori, perintah" cat "akan memberikan kesalahan yang akan ditambahkan dalam" stderr.fail txt ”.

Output standard ini dapat dialihkan dengan satu perintah juga, gunakan:

$ ls 1> stdout.txt 2> stderr.txt

Keluaran perintah "ls" akan ditulis dalam "stdout.txt"Fail, tetapi"stderr.txt"Akan tetap kosong kerana tidak akan ada kesalahan.

Sekarang mari kita lakukan untuk "stderr.txt ”:

$ kucing myfile.txt 1> stdout.txt 2> stderr.txt

Gunakan arahan yang disebutkan di bawah untuk membaca “stderr.txt."

$ kucing stderr.txt

Dan tentu saja, "stdout.txt ”akan kosong.

Kesimpulannya:

Perintah Linux semasa dijalankan memberikan output standard yang dapat menjadi output kejayaan atau output kesalahan. Secara amnya, output ini tidak dapat diarahkan menggunakan operator pengalihan; kita perlu menggunakan id berangka tertentu dengan tanda ">". Dalam panduan ini, kami belajar bagaimana menggunakan kunci angka ini untuk mengalihkan output standard ke fail dengan contoh.

Mengawal & menguruskan pergerakan tetikus antara beberapa monitor di Windows 10
Pengurus Tetikus Paparan Dwi membolehkan anda mengawal & mengkonfigurasi pergerakan tetikus antara beberapa monitor, dengan memperlahankan pergerakann...
WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...
Butang klik kiri tetikus tidak berfungsi pada Windows 10
Sekiranya anda menggunakan tetikus khusus dengan komputer riba, atau komputer desktop anda tetapi butang klik kiri tetikus tidak berfungsi pada Window...