bash - bash中双方括号的含义

标签 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/

相关文章:

bash - 大写 bash 变量

linux - 如何知道 "cat"命令显示的行数?

windows - 在 Jenkins 中更改 Windows shell(从 Cygwin 到 Git Bash/msys)

linux - 用硬链接(hard link)替换重复文件的功能

linux - 如何通过 api 在容器内执行命令

linux - 在 bash 脚本中传递标志失败

Linux Bash - 带有部分路径名的 grep 文件

bash - 如何限制 Jenkins 上的作业控制台日志量?

xml - 如何使用 xmlstarlet 更新字符串属性?

正则表达式 [[ :digit:]] showing a row with a letter between digits