Memahami 2> & 1 dalam Bash A Beginner's Guide
- 2014
- 84
- Dwayne Hackett
Bash adalah shell populer yang digunakan di sebagian besar distribusi Linux. Ini menyediakan berbagai teknik pengalihan I/O yang memungkinkan pengguna untuk mengontrol bagaimana input dan output diproses dalam perintah dan skrip mereka. Salah satu teknik pengalihan I/O yang paling umum digunakan adalah 2> & 1, yang mengarahkan kembali kesalahan standar (stderr) ke output standar (stdout).
Dalam artikel ini, kami akan memberikan panduan pemula untuk memahami 2> & 1 di pesta.
Apa itu 2> & 1?
2> & 1 adalah operator pengalihan I/O yang digunakan dalam bash yang mengarahkan aliran stderr ke tujuan yang sama dengan aliran stdout. Dengan kata lain, ini menggabungkan output kesalahan dengan output reguler, membuatnya lebih mudah untuk menangkap dan menangani kesalahan.
Sintaks untuk menggunakan 2> & 1 adalah sebagai berikut:
Perintah 2> & 11 | Perintah 2> & 1 |
Dalam sintaks ini, 'memerintah' adalah perintah yang sedang dieksekusi, dan '2> & 1' adalah operator pengalihan I/O yang mengarahkan kembali stderr ke stdout.
Mengapa menggunakan 2> & 1?
Menggunakan 2> & 1 berguna untuk menangkap dan menangani kesalahan dalam skrip bash. Dengan mengarahkan kembali stderr ke stdout, Anda dapat menangkap output reguler dan output kesalahan dalam satu aliran, yang membuatnya lebih mudah untuk menganalisis dan menangani kesalahan. Ini bisa sangat berguna dalam skrip yang membutuhkan penanganan kesalahan, di mana Anda perlu tahu apakah perintah yang dijalankan dengan sukses atau mengalami kesalahan.
Contoh penggunaan
Berikut adalah contoh cara menggunakan 2> & 1 dalam skrip bash:
#!/bin /bash ls /not_a_directory> /dev /null 2> & 1 if [$? -ne 0]; lalu echo "kesalahan: direktori tidak ditemukan" fi123456 | #!/bin /bash ls /not_a_directory> /dev /null 2> & 1if [$? -ne 0]; lalu echo "kesalahan: direktori tidak ditemukan" fi |
Dalam contoh ini, 'ls' Perintah dieksekusi pada direktori yang tidak ada '/not_a_directory'. Output dari perintah ini dialihkan ke '/dev/null', yang membuangnya. Itu Stderr Output diarahkan ke stdout menggunakan 2> & 1, yang memungkinkannya ditangkap dalam pernyataan IF. Jika status keluar ($?
) dari perintah tidak sama dengan 0, pesan kesalahan dicetak.
Kesimpulan
Kesimpulannya, 2> & 1 adalah operator pengalihan I/O yang digunakan dalam bash yang mengarahkan ulang Stderr ke stdout. Ini berguna untuk menangkap dan menangani kesalahan dalam skrip bash, di mana Anda perlu tahu apakah perintah yang dijalankan dengan sukses atau mengalami kesalahan. Dengan menggabungkan output kesalahan dengan output reguler, itu membuatnya lebih mudah untuk menganalisis dan menangani kesalahan. Memahami dasar -dasarnya 2> & 1 sangat penting bagi siapa pun yang bekerja dengan skrip dan perintah bash.
- « Contoh praktis pemrosesan JSON dengan JQ di Linux
- Perintah 10 JQ teratas yang harus diketahui setiap pengembang Linux »