Bash手册说:
使用[形式时,命令的最后一个参数必须为]。
$ type [
[ is a shell builtin
$ type ]
bash: type: ]: not found
因此,]它不是保留字,也不是运算符,也不是内置命令。
作为令牌,令牌标识符是]什么?单词还是名字?
在过去的46年中,shell语言层层发展,而内部一致性从来都不是优先考虑的问题。如果您试图将其强加于任何形式的理论形式语言框架中,那将是一段糟糕的时光。
—
zwol
由于
—
Baard Kopperud
[(也是)一个自包含的命令,因此通常会得到一个手册页...因此,请尝试man [和/或man test([并且test可能是同一命令)。
尝试
—
通配符
]用单引号或双引号引起来,您将发现它没有区别;这只是一个字符串。
[也是(也是)一个自我维持的命令:-rwxr-xr-x 1 root root 39552 Dec 3 18:14 / usr / bin / [尽管有可能还内置了“ parallel”,例如例如kill。在某些系统上,该test命令是指向的符号链接,[反之亦然。AFAIK]本身并不意味着任何东西,但是可以“关闭”一个[-而是出于“审美”的原因。