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 mengalihkan kesalahan standar (stderr) ke output standar (stdout).
Advertisement
Dalam artikel ini, kami akan memberikan panduan pemula untuk memahami 2>&1 di Bash.
Apa itu 2>&1?
2>&1 adalah operator pengalihan I/O yang digunakan di Bash yang mengalihkan aliran stderr ke tujuan yang sama dengan aliran stdout. Dengan kata lain, ini menggabungkan keluaran kesalahan dengan keluaran biasa, membuatnya lebih mudah untuk menangkap dan menangani kesalahan.
Sintaks untuk menggunakan 2>&1 adalah sebagai berikut:
command 2>&11command2>&1
Dalam sintaks ini, `command` adalah perintah yang sedang dieksekusi, dan `2>&1` adalah operator pengalihan I/O yang mengalihkan stderr ke stdout.
Mengapa menggunakan 2>&1?
Menggunakan 2>&1 berguna untuk menangkap dan menangani kesalahan dalam skrip Bash. Dengan mengalihkan stderr ke stdout, Anda dapat menangkap keluaran reguler dan keluaran kesalahan dalam satu aliran, yang membuatnya lebih mudah untuk menganalisis dan menangani kesalahan. Ini dapat sangat berguna dalam skrip yang memerlukan penanganan kesalahan, di mana Anda perlu mengetahui apakah perintah dijalankan dengan sukses atau mengalami kesalahan.
Example Usage
Berikut adalah contoh cara menggunakan 2>&1 dalam skrip Bash:
#!/bin/bash
ls /not_a_directory > /dev/null 2>&1
jika [ $? -ne 0 ]; Kemudian
gema “Kesalahan: Direktori tidak ditemukan”
fi123456#!/bin/bash ls/not_a_directory>/dev/null2>&1if [ $? -ne 0 ];then  echo”Error: Directory not found”fi
Dalam contoh ini, perintah `ls` dijalankan pada direktori `/not_a_directory` yang tidak ada. Keluaran dari perintah ini dialihkan ke `/dev/null`, yang membuangnya. Output stderr dialihkan 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 mengalihkan stderr ke stdout. Ini berguna untuk menangkap dan menangani kesalahan dalam skrip Bash, di mana Anda perlu mengetahui apakah suatu perintah berhasil dijalankan atau mengalami kesalahan. Dengan menggabungkan keluaran kesalahan dengan keluaran reguler, akan lebih mudah untuk menganalisis dan menangani kesalahan. Memahami dasar-dasar 2>&1 sangat penting bagi siapa saja yang bekerja dengan skrip dan perintah Bash.
Referensi tecadmin.com