为什么当我输入bash时:if [ false ]; then echo 'ok'; fi;我得到ok字符串作为结果?使用变量时我也能得到类似的结果:ok=false; if [ $ok ]; then echo 'ok'; fi;
twa*_*erg 10
if [ false ]相当于if [ -n "false" ]- 它正在测试字符串的长度.如果您正在尝试测试退出代码/bin/false,请使用if false(不[,对于许多但不是全部,现代shell是一个大致相当于/usr/bin/[或者内置的shell /usr/bin/test).
| 归档时间: |
|
| 查看次数: |
1039 次 |
| 最近记录: |