Câu trả lời:
$ if test -d /the/dir; then echo "exist"; fi
test -d /the/dir: test -d /the/dir && echo "exist" || echo "does not exist"nhưng chúng thực sự giống nhau.
bash!
tcshvì tôi quá lười để viết lại .tcshrc. Nhưng quan trọng hơn: điều này có thể đã giải thích vấn đề của OP.
Giả sử vỏ của bạn là BASH:
if [ -d /the/dir ]; then echo 'Exists'; else echo 'Not found'; fi
cshhay tcsh?
[ -d /home/bla/ ] && echo "exits"
[ -d /home/bla/ ] && echo "exist" ; [ ! -d /home/bla/ ] && echo "doesnt exist"
Cách chính tắc là sử dụng tiện ích test (1):
test -d path
trong đó "path" là tên đường dẫn của thư mục được đề cập.
echo "Directory Exists".
Để kiểm tra xem một thư mục có tồn tại trong tập lệnh shell hay không, bạn có thể sử dụng như sau:
dir=$1
if [ -d "$dir" ]; then
#means that $dir exists.
fi
để kiểm tra ngược lại, thêm !trước-d ->[ ! -d ....]