GUN/Bash 系列(六)Shell 常用扩展总结

brackets cheatsheet

Shell 扩展(Shell Expansions)

命令行的扩展是在拆分成词之后进行的。共有七种类型的扩展:

  • brace expansion
  • tilde expansion
  • parameter and variable expansion
  • command substitution
  • arithmetic expansion
  • word splitting
  • filename expansion

常用的四种如下

花括号扩展(Brace Expansion)

用于偷懒,例如:

1
x{a,b,cd}y

扩展为:

1
xay xby xcdy

再例如:

1
mkdir /usr/local/src/bash/{old,new,dist}

扩展为:

1
2
3
mkdir /usr/local/src/bash/old
mkdir /usr/local/src/bash/new
mkdir /usr/local/src/bash/dist

参数和变量扩展(Parameter and Variable Expansion)

1
${parameter}

算术扩展(Arithmetic Expansion)

1
$(( expression ))

命令替换(Command Substitution)

命令替换允许命令的输出替换命令本身。当命令被以下特殊字符包括时,将发生命令替换:

1
$(command)

1
`command`

参考

https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Shell-Expansions