Skip to content
On this page

引号与括号

引号

  • 反引号
    • 对命令直接输出
  • 双引号
    • 对命令直接输出,对变量名进行替换
  • 单引号
    • 全部原样输出

小括号

$() 与反引号拥有相同的功能,被称为 Command substitution

$(()) 则有数字计算的功能。

中括号

[[ ]] 可理解为布尔运算符,返回 true 或者 false。

注意此时,操作符前后均有空格

对于字符串而言:

  • [[ -z STRING ]]:判断为空
  • [[ -n STRING ]]:判断非空

对于数字而言,需要使用一下字符操作符:

  • [[ NUM -eq NUM ]] Equal,等于。
  • [[ NUM -ne NUM ]] Not equal,不等于。
  • [[ NUM -lt NUM ]] Less than,小于。
  • [[ NUM -le NUM ]] Less than or equal,小于等于。
  • [[ NUM -gt NUM ]] Greater than,大于。
  • [[ NUM -ge NUM ]] Greater than or equal,大于等于。

如果更想使用 >/</= 等符号操作符,则需要使用 (( )) 括起来。

对于文件而言:

  • [[ -e FILE ]] Exists:存在
  • [[ -r FILE ]] Readable:可读
  • [[ -w FILE ]] Writable:可写
  • [[ -x FILE ]] Executable:可执行
  • [[ -h FILE ]] Symlink:链接
  • [[ -d FILE ]] Directory:目录
  • [[ -f FILE ]] File:文件
  • [[ -s FILE ]] 文件内容不为空

shell 中 ${}$() 有什么区别: 可理解为 ${var} 就是 $var,指代某个变量。{} 可以作为引用变量边界。除了边界,还有含空格的变量等特殊变量。

MIT Licensed | Copyright © 2021 - 2022