Saya mengalami kesulitan menemukan daftar kode kesalahan terkini yang komprehensif dari Bash. misalnya:
$ udevadm info /dev/sdx; echo Exit code $?
Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.
Exit code 4
Bagaimana cara mencari kode keluar seperti itu?
Jawaban yang Diterima:
tl;dr Kode keluar khusus untuk aplikasi.
Ada beberapa konvensi longgar. false
dan apa pun yang berhasil diawali dengan !
(seperti ! true
) di shell POSIX mengembalikan kode keluar 1, tetapi pengembang dapat menggunakan kode keluar apa pun antara 0 dan 255 untuk apa pun yang mereka inginkan. Pada akhirnya Anda harus melihat dokumentasinya (dalam kasus terbaik) atau kode (dalam kasus terburuk) untuk mengetahui apa artinya. Untuk program dengan man
halaman kode keluar akan sering dicantumkan di bagian bernama EXIT STATUS
(Alat GNU seperti find
).
Beberapa arti populer tercantum di /usr/include/sysexits.h
– Saya mencoba menggunakannya jika memungkinkan. Seperti yang ditunjukkan oleh @AnsgarEsztermann, ini bukan referensi Bash, atau bahkan referensi aplikasi kecuali bagi mereka yang memilih untuk menggunakannya (pengembang C/C++ terutama menurut ABS).