最近从另一个操作系统回到 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 [
命令帮助。
用法:这是if
bash 的另一种形式,例如:
[ "Hello" == "Helo" ] ; echo $?