总结:
    $() `` 是执行不了 alias 的

    在shell中,一个命令有3中写法:
    1 可以直接写(Normal Command)
    2 可以放在双引号中(“Command”)
    3 可以放在单引号中(‘Comand’)
    这3中写法,命令的执行流程也是不一样的,如下图所示:
    image.png
    由pipe characte(|)分割command
    shell脚本中,每一行文本称为一个pipeline,每一个pipeline由0个或者多个pipe character(|)连接,shell处理的第一步就是将pipeline分割成多个command分别进行处理
    ralias替换
    将alias替换成真正的命令,比如将ls替换成ls —color=auto
    brace替换
    将a{b,c}e替换成abe,ace
    ~替换
    将~替换成HOME目录
    变量替换
    将$开头的变量替换为其真正的值
    执行替换命令
    即执行$(command)或者command
    执行算数表达式
    即执行$(( 1 + 3 ))
    glob扩展
    比如将a/扩展成a/b a/c
    *command查找

    按照优先级,查找:
    1 function
    2 built-in
    3 $PATH中的脚本和可执行程序
    从上图中可以看到,放在单引号中的命令执行流程最为简单,直接查找命令,然后执行,而放在双引号中的命令会进行变量替换,执行命令替换,执行算数表达式,然后才查找命令执行。

    https://www.cnblogs.com/chaoguo1234/p/5724321.html