Apa yang dimaksud di -x
sini:
if [ -x /etc/rc.local ] then
Bagaimana saya bisa mengetahui halaman buku panduan ini if
?
command-line
bash
taymindis Woon
sumber
sumber
help if
?Jawaban:
Dari
man bash
halaman (terutama bagian EKSPRESI KONDISI):sumber
test
dalam bash, Anda tidak memohontest
biner. Anda, sebaliknya, memohon bash'stest
builtin, yang memiliki dokumentasi dihelp test
, di antara tempat-tempat lain.man test
mungkin menyesatkan dalam beberapa kasus karena alasan itu.if
itu sendiri adalah kata kunci shell, sehingga Anda dapat menemukan informasi tentang itu denganhelp if
.if
sendiri hanya cabang berdasarkan apakah perintah berikutnya mengembalikan true (0) atau false (bukan nol). Apa yang sebenarnya Anda inginkan, adalahman [
atauman test
, di mana[
alias untuktest
. Pernyataan itu sebenarnya mengeksekusitest -x /etc/rc.local
, yang menguji untuk melihat apakah file itu ada dan dapat dieksekusi (atau memiliki izin pencarian).sumber
man [
bekerja juga.if
bukan shell builtin kata kunci shell. Jalankan perintah initype if
untuk memeriksa itu.Dari
info test
:Jalankan izin diperlukan pada direktori untuk dapat cd ke dalamnya (yaitu, untuk membuat beberapa direktori direktori kerja Anda saat ini).
Jalankan diperlukan pada direktori untuk mengakses informasi "inode" dari file-file di dalamnya. Anda memerlukan ini untuk mencari direktori untuk membaca inode file di dalamnya. Untuk alasan ini izin eksekusi pada direktori sering disebut izin pencarian.
sumber