GUN/Bash 系列(六)Shell 常用扩展总结
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 | mkdir /usr/local/src/bash/old |
参数和变量扩展(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