shell中双方括号命令的名称是什么?

时间:2017-03-06 14:15:31

标签: shell

如果之前已经提出此问题,请道歉。我还没有找到谷歌/堆栈溢出的答案。

我知道单个方括号运算符称为test,因此可以使用man test查询其手册页或which test以查找文件在OS中的位置。

双方括号命令的等效名称是什么?

不时在其上运行man命令会很有用。 : - /

提前致谢。

亲切的问候,

Chopo

3 个答案:

答案 0 :(得分:1)

[[是Bash中的关键字(以及POSIX中的保留字)。它不是一个单独的命令,也没有自己的man页面。

在Bash手册中,它在各个地方被称为“[[复合命令”和“[[条件命令”。

您可以在复合命令部分的man bash中找到它。

有关其用法的更多信息,请参阅条件表达式部分。

答案 1 :(得分:1)

双括号[[ ... ]]测试是一种特殊的shell语法,而不是外部命令。您可以通过搜索短语" 有条件的表达"来阅读它们。在bash或zshmisc手册页中。

双括号内的表达式与普通命令行的解析方式不同,因此即使您愿意,也无法创建一个行为相同的外部命令。

答案 2 :(得分:1)

  • [的长名称为/usr/bin/[

  • [[是一个shell关键字

在Bash中,[是内置命令和可执行文件。 [[只是Bash的关键字 - 例如:使用type

$ type -a [
[ is a shell builtin
[ is /usr/bin/[

$ type -a [[
[[ is a shell keyword

有关unix stackexchange的更多详细信息: https://unix.stackexchange.com/questions/99185/what-do-square-brackets-mean-without-the-if-on-the-left