我试图编写一个使用 if
语句的 Bash 脚本。
if[$CHOICE -eq 1];
脚本一直给我错误,直到我在 [
前后和 ]
之前给了一个空格,如下所示:
if [ $CHOICE -eq 1 ];
我的问题是,为什么方括号周围的空格在 Bash 中如此重要?
最佳答案
一旦您掌握了 [
是一个命令,很多事情就会变得更加清晰!
[
是“test
”的另一种拼写方式。
help [
然而,虽然它们完全是一样的,但test
却有一个更详细的帮助页面。检查
help test
...了解更多信息。
另外请注意,我有意使用 help test
而不是 man test
。那是因为 test
和 [
现在是 shell 内置命令。它们的功能集可能不同于 /bin/test
和 /bin/[
来自 coreutils,它们是 man
页面中描述的命令。
关于bash - 为什么 Bash 中 '[' 和 ']' 周围要有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581064/