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
!
tcsh
vì 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
csh
hay 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 ....]