为什么会出现以下输出True?
True
#!/bin/sh if [ false ]; then echo "True" else echo "False" fi
True即使条件似乎另有说明,这也将始终输出。如果我删除括号[],那么它可以工作,但我不明白为什么。
[]
您正在运行带有参数“false”的[(aka test) 命令,而不是运行 command false。因为“false”是一个非空字符串,所以test命令总是成功的。要实际运行该命令,请删除该[命令。
[
test
false
if false; then echo "True" else echo "False" fi