什么是/usr/bin/[如何使用它?

分享于 

2分钟阅读

电脑

  繁體 雙語

问题:

我看到 coreutils,发现这是作为coreutils的一部分之一的文件之一: /usr/bin/[[ 是什么它做什么?

这是一个可以执行文件。我只是不知道它是怎么做的。

$ 文件/usr/bin/[
用于 gnu/linux 2.6.15的/usr/bin/[: ELF 32位 LSB执行,80386,版本 1 ( SYSV ),动态链接( 使用共享库)

当我尝试运行它时,我认为它默认为line扩展的bash。 而不是实际运行文件。

$"/usr/bin/["
/usr/bin/[: 丢失 ]' $/usr/bin/[
/usr/bin/[: missing
]"'


回答 1:

它与命令 test的等价。 ( 参见 info test。) 一般情况下,你在条件表达式中使用它,如:


if [ -n"$1" ]; then


 echo $1


fi



需要右括号来封闭条件。 ( 它看起来只是为了在代码中看起来更好。 有人知道其他的实际原因?


回答 2:

它与 test 命令等效。

代替


if/usr/bin/test -z"$VAR"


then


 echo VAR not set


fi



可以使用:


if/usr/bin/[ -z"$VAR" ]


then


 echo VAR not set


fi



它也可以在循环中使用:


i=0


while [ $i -lt 10 ]


do


 echo $i


 ((i++))


done



你也可以在一个衬垫中使用它们,如下所示:


[ -z"$VAR" ] && echo VAR not set && exit



[ -f foo.txt ] && cat foo.txt





相关文章