Bash扩展顺序

当进行变量替换、命令替换、数学扩展以及路径扩展时,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* 

原文地址:https://www.cnblogs.com/pandachen/p/4824514.html