<分区>
在此question in the answer from Kyle Brandt [[ ]]
构造被描述为“bash 内置测试命令”。以下显示为示例。
if [[ ( $a -gt 2 ) && ( $a -lt 5 ) ]]; then ...
为什么需要双方括号,字面意思是 [[ ]]
?
标签 bash
<分区>
在此question in the answer from Kyle Brandt [[ ]]
构造被描述为“bash 内置测试命令”。以下显示为示例。
if [[ ( $a -gt 2 ) && ( $a -lt 5 ) ]]; then ...
为什么需要双方括号,字面意思是 [[ ]]
?
最佳答案
[[ 是 bash 中 [ 的一个更通用的版本。
例如,使用 [[ ... ]] 测试结构而不是 [ ... ] 可以防止脚本中的许多逻辑错误。例如,&&、||、< 和 > 运算符在 [[ ]] 测试中工作,尽管在 [ ] 构造中给出错误。
此外,它们的实现也不同
-bash-3.2$ type [
[ is a shell builtin
-bash-3.2$ type [[
[[ is a shell keyword
引用here一个好的解释
关于bash - bash中双方括号的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14496428/