当进行变量替换、命令替换、数学扩展以及路径扩展时,Bash Shell遵循如下顺序:
1、大括号扩展
$ls f{oo,aa,unble}
2、~扩展
~cb, ~/doc/working
3、命令参数扩展
$0-9, $(n)
4、变量替换
$var1
5、命令替换
$(pwd), `pwd`
6、数学扩展
$[2+3-1]
7、单词分割
?
8、路径扩展
ls my*
例子:
$ls h$[1+2]*
h3c_cmd.sql h3c_cmd.sql~ h3c_insert.sql h3c_insert.sql~ h3c_insert.sql.bak
先数学扩展,再文件名扩展,等效于
$ls h3*