Gönderen bashman:
[[ expression ]] - koşullu ifade ifadesinin değerlendirmesine bağlı olarak 0 veya 1 durumu döndürür.
İfadeler için seçeneklerden biri:
expression1 && expression2- Her iki true expression1ve expression2doğrudur.
Böylece andonları aşağıdaki gibi birlikte yapabilirsiniz ( -nbunun tam tersidir, -zböylece kurtulabiliriz !):
if [[ -n "$var" && -e "$var" ]] ; then
echo "'$var' is non-empty and the file exists"
fi
Ancak, bu durumda gerekli olduğunu düşünmüyorum, -e xyzzyeğer xyzzy dosya varsa doğrudur ve oldukça kolay boş dizeleri işleyebilir. İstediğiniz buysa, aslında -zboş olmayan çeke ihtiyacınız yoktur :
pax> VAR=xyzzy
pax> if [[ -e $VAR ]] ; then echo yes ; fi
pax> VAR=/tmp
pax> if [[ -e $VAR ]] ; then echo yes ; fi
yes
Başka bir deyişle, sadece şunu kullanın:
if [[ -e "$var" ]] ; then
echo "'$var' exists"
fi
bash; ancak, "bashisms" ten tam olarak yararlanmak için bkz.