bash - 为什么 Bash 中 '[' 和 ']' 周围要有空格?

标签 bash if-statement syntax

我试图编写一个使用 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/

相关文章:

bash - 如何将此 bash 命令行折叠成 awk 语句?

c# - Entity Framework 查询中 && 和 where 条件的区别

php - !$variable = $variable inside if

linux - 如何在 shell 中编写 if-else 并将输出回显到变量

macos - 可以语法高亮差异文件的 Mac 原生文本编辑器?

javascript - script.js 文件未链接到 index.html

php - ImageMagick bash 脚本问题

bash - 从 bash 脚本中执行的进程将 PID 输出到文件?

linux - 在 Linux 中将第一行粘贴到每列后面

c - 在c中初始化一个新结构