#intro
if [ -n "$1" ]
then
echo 666
else
echo 555
fi
exit;
其实我确实想要,echo 555
但我不想在第一个区块中做任何事情,我该怎么办?我注意到我不能直接删除echo 666
.
答案1
答案2
[ -n "$1" ] && echo "666" <= For if part
[ -n "$1" ] || echo "555" <= For else part
答案3
!
您可以通过在条件语句内使用(这称为“not”运算符,这意味着取结果的相反值)来反转 if 语句。这样就[ -n "$1" ]
变成了:[ ! -n "$1" ]
,与该部分相同else
。
使用该-z
选项而不是-n
逻辑上与 相反的选项也是有效的-n
,但作为一般规则,它将!
始终匹配 else 部分将匹配的任何内容。