Apakah mungkin menjalankan chmod dan mengabaikan kesalahan dari perintah
Contoh (komentar file.txt tidak ada untuk menunjukkan contoh)
Saat saya mengetik
chmod 777 file.txt
Saya mendapatkan kesalahan pada output
chmod: cannot access file.txt : no such file or directory
Jadi saya menambahkan flag-f ke perintah sebagai berikut: (file.txt tidak ada untuk menunjukkan case)
chmod -f 777 file.txt
echo $?
1
Tetapi dari contoh chmod return 1
Mohon saran bagaimana memaksa perintah chmod untuk memberikan kode keluar 0 meskipun ada kesalahan
shell
shell-script
chmod
error-handling
Gilles 'SANGAT berhenti menjadi jahat'
sumber
sumber
2>/dev/null
dan digunakanset -e
dalam skrip.Jawaban:
Ini akan mengeksekusi
:
, yaitu perintah nol, jikachmod
gagal. Karena perintah nol tidak melakukan apa pun kecuali selalu berhasil, Anda akan melihat kode keluar 0.sumber
chmod -f 777 file.txt || true
:
tampaknya sama-sama dapat dibaca.chmod -f 777 file.txt || true
Karena ini OR, jika salah satu pernyataan mengembalikan true, maka pengembaliannya benar. Ini menghasilkan status keluar nol.
sumber
||
tidak akan dieksekusi jikachmod
berhasil ... bukannya itu membuat banyak perbedaan komputasi di sini.Saya selalu mencintai
sumber