Gönderen bash
man:
[[ 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 expression1
ve expression2
doğrudur.
Böylece and
onları aşağıdaki gibi birlikte yapabilirsiniz ( -n
bunun tam tersidir, -z
bö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 xyzzy
eğer xyzzy
dosya varsa doğrudur ve oldukça kolay boş dizeleri işleyebilir. İstediğiniz buysa, aslında -z
boş 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.