bash - 有人可以帮我弄清楚为什么这不起作用吗?

标签 bash shell conditional-statements

i=0

if [$i -eq 0]
then 
   echo "i is equal to 0"
else 
   echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi

它是 bash 脚本的一部分,并且总是采用 else 分支。我对 bash 完全陌生,所以它可能有些愚蠢

最佳答案

你需要 [ $i 而不是 [$i

这是因为 [ 是内置命令,$i 应该是它的第一个参数。如果你错过了命令和参数之间的空格,那么 shell 将寻找 [$i 命令,在评估之后会告诉你没有要执行的 [0 命令.

关于bash - 有人可以帮我弄清楚为什么这不起作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8609502/

相关文章:

bash - 为什么 docker exec 在退出时杀死 nohup 进程?

python - Shell 脚本打开 Flask 支持的网页会打开两个窗口

linux - 循环遍历子目录并为每个子目录创建 jpg 的 PDF

正则表达式模式替换

Jquery 删除类不工作

python - 使用 bash 或 python 对巨大的 JSON 文件进行排序

linux - 检查文件是否真的可以在 bash 中打开

javascript - 如何检查用户输入的范围?

perl - Perl 打开中的语法错误

git - 谁能解释一下,为什么 "git status"会触及 .git 目录?