为什么会输出如下True
?
#!/bin/sh
if [ false ]; then
echo "True"
else
echo "False"
fi
这将始终输出True
即使情况似乎表明情况并非如此。如果我去掉括号[]
然后它起作用了,但我不明白为什么。
您正在运行[
(aka test
) 带有参数“false”的命令,不运行该命令false
。由于“false”是一个非空字符串,因此test
命令总是成功。要实际运行该命令,请删除[
命令。
if false; then
echo "True"
else
echo "False"
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)