简单的算术表达式括在'(('在复合条件表达式'[['
中)时计算结果为true)HAVE_SRC=1
[[ (( $HAVE_SRC == 1 )) && -d $( pwd ) ]]
echo $? # returns 0 => true
HAVE_SRC=0
[[ (( $HAVE_SRC == 1 )) && -d $( pwd ) ]]
echo $? # returns 1 => false
HAVE_SRC=1
[[ (( $HAVE_SRC )) && -d $( pwd ) ]]
echo $? # returns 0 => true
问题:
HAVE_SRC=0
[[ (( $HAVE_SRC )) && -d $( pwd ) ]]
echo $? # returns 0 => true ????
答案 0 :(得分:4)
请勿在{{1}}内使用(( ... ))
:
[[ ... ]]
要了解bash如何解释您提供的表达式,请尝试使用
运行它们(( HAVE_SRC == 1 )) && [[ -d $pwd ]]