为什么我的 /usr/bin 目录中有一个名为

为什么我的 /usr/bin 目录中有一个名为

最近从另一个操作系统回到 Linux,我注意到一个名为 [ 的文件,这对我来说似乎很奇怪。它是做什么用的?

$ ls -l /usr/bin | head -2
-rwxr-xr-x 1 root root       39552 Nov  3 14:44 [

我使用的是 Ubuntu 15.04

答案1

命令[是命令的另一个“名称” test,因此if构造的语法看起来更好。这两个是等价的:

if test "$x" -eq 0

if [ "$x" -eq 0 ]

最后的]只是语法糖。这种等同性大多只是一个历史特征。

请注意,较新的测试构造[[ ... ]](非标准)是 shell 语法的一部分,而不是命令。

答案2

[是一个命令,以确保您可以使用type [

它说这是一个 shell 内置命令,或者如果你使用的话,你会看到目录下type -a [还有另一个命令。[/usr/bin/

你可以看到它的help [命令帮助。

用法:这是ifbash 的另一种形式,例如:

[ "Hello" == "Helo" ] ; echo $?

相关内容