Apa yang Anda gambarkan harus berfungsi dengan baik - selama Anda menggunakan jalur absolut, dan -f
("File ada dan merupakan file biasa") benar-benar tes yang ingin Anda lakukan.
Saya melihat jejak /
di dalam apa yang Anda posting di pertanyaan Anda - Apakah Anda menguji direktori? Itu seharusnya -d
, atau hanya -e
("Ada sesuatu dengan nama itu - terlepas dari jenis")
Juga perhatikan bahwa kecuali sesuatu di sepanjang jalan tidak dapat dibaca test
( [
) harus dapat memberi tahu Anda jika file yang dimiliki oleh root ada atau tidak (misalnya [ -f /root/.ssh/known_hosts ]
mungkin akan gagal, karena direktori /root/.ssh tidak (atau setidaknya tidak seharusnya dapat dibaca oleh pengguna normal. [ -f /etc/crontab ]
harus berhasil).