Siapa pun dapat memberi tahu saya kode kemungkinan kembali untuk perintah rm -rf selain nol yaitu, kode kembali yang mungkin untuk kasus kegagalan. Saya ingin tahu alasan lebih rinci untuk kegagalan perintah tidak seperti hanya perintah gagal (kembali selain 0).
9
man ls
menggunakan Ubuntu, ini menjelaskan alasan untuk status keluar yang tidak nolJawaban:
Untuk melihat kode kembali, Anda dapat menggunakan
echo $?
dalam bash.Untuk melihat makna sebenarnya, beberapa platform (seperti Debian Linux) memiliki
perror
biner, yang dapat digunakan sebagai berikut:rm -rf
secara otomatis menekan sebagian besar kesalahan. Kesalahan yang paling mungkin Anda akan lihat adalah1
(Operasi tidak diizinkan), yang akan terjadi jika Anda tidak memiliki izin untuk menghapus file.-f
sengaja menekan sebagian besar kesalahansumber
perror
. Pada sistem saya ini dikirimkan dengan mysql.strace
memberi tahu Anda jika panggilan sistem gagal, tetapi kecuali jika Anda melihat sumbernya Anda tidak tahu bagaimana syscall berhubungan dengan status keluar program (misalnya, jika Anda menjalankan-f
,ENOENT
ditekan). Karenanya itu tidak relevan di sinimeraih coreutils dari git ....
melihat keluar kita melihat ...
Sekarang melihat variabel status ....
Sepertinya tidak banyak yang terjadi di sana dengan status keluar.
Saya melihat EXIT_FAILURE dan EXIT_SUCCESS dan bukan yang lain.
jadi pada dasarnya 0 dan 1 / -1
Untuk melihat keluar spesifik () syscalls dan bagaimana mereka terjadi dalam aliran proses coba ini
cukup sederhana.
ref:
http://www.unix.com/man-page/Linux/EXIT_FAILURE/exit/
sumber
0 / >0
.I want to know more detailed reason for the failure of the command unlike just the command is failed(return other than 0)
sehingga suara turun bisa dimengerti.if (!(flags & FILEUTILS_FORCE)) {
penambahan,else{printf("same error message as perror");}
saya yakin implementasi lain akan menjadi serupa, tetapi jika tidak versi busybox dapat dibangun sendiri dan disertakan.