這是我剛剛發現一個黑客:短的方式來運行命令,如果變量設置
DEBUG=true
$DEBUG && echo "Hello"
而這恰好是工作,因爲true
是一個實際的命令,它會返回0,&&
運營商很滿意即:
» true
» echo $?
0
有一個變量被設置執行一段代碼的非hackish的方式,任何值,除了空字符串?事情是這樣的,但作爲一個可讀的一行(像上面的):
myvar="ggg"
if [ "$myvar" != "" ] ; then echo "Hello" ; fi
'[[-n「$ myvar」]] && echo「Hello」'應該可以工作 – anubhava
'[-z $ {myvar + x}] && echo「Hello」'[另見](https:// stackoverflow .com/questions/3601515 /如何檢查,如果變量是在集合中) – redneb
我不認爲它是hackish。 – hek2mgl