Відповіді:
$ if test -d /the/dir; then echo "exist"; fi
test -d /the/dir
: test -d /the/dir && echo "exist" || echo "does not exist"
але вони дійсно ті самі.
bash
!
tcsh
тому що я лінивий, щоб переписати своє .tcshrc
. Але більш до речі: це, можливо, пояснило проблему ОП.
Припустимо, що ваша оболонка - БАШ:
if [ -d /the/dir ]; then echo 'Exists'; else echo 'Not found'; fi
csh
чи tcsh
?
[ -d /home/bla/ ] && echo "exits"
[ -d /home/bla/ ] && echo "exist" ; [ ! -d /home/bla/ ] && echo "doesnt exist"
Канонічним способом є використання утиліти test (1):
test -d path
де "шлях" - це ім'я шляху відповідного каталогу.
echo "Directory Exists"
.
Щоб перевірити, чи існує каталог у скрипті оболонки, ви можете скористатися наступним:
dir=$1
if [ -d "$dir" ]; then
#means that $dir exists.
fi
щоб перевірити протилежне, додайте !
перед-d ->[ ! -d ....]