输入的字符在shell起作用前会展开成为别的字符
- 路径展开
- 波浪号展开
- 算术表达式展开
- 花括号展开
- 参数展开
- 命令替换
- 单词分割
##路径展开12345ls echo * #不显示隐藏文件echo D*echo *secho /usr/*/bin
##波浪号展开~
会展开成为家目录1ls ~
##算术表达式展开
通过这种方式进行算术运算12echo $((2+2))echo $(($a+$b))
##花括号展开
可以从一个花括号的模式中创建多个字符串1234567echo front-{a,b,1}-endfront-a-end front-b-end front-1-endecho Number_{1..5}echo {Z..A}echo {A{1,2},B{3,4}}mkdir {2007..2009}-0{1,9} {2007..2009}-{10..12}
##参数展开
即shell变量,多用于shell脚本
##命令替换
把一个命令的输出作为作为一个展开1234echo $(ls)files=$(ls)echo `ls`
单词分割
在默认情况下,单词分割机制会在单词中寻找空格、制表符和换行符,并把它们看作单词之间的界定符,它们只作为分隔符使用。所以不要用包含空格的名字命名文件unless you really know what you do