Shell 命令替换

使用命令的输出结果替换。

语法

$(command)

`command`

在子shell环境中执行命令,并将命令的标准输出作为替换,并删除所有换行符。

嵌入的换行符不会删除,但是在分词时可能会被删。

$(cat file) 可以被 更高效的 $(< file) 替换。

`` 是一种老的替换方式。 \ 保留字面意义,除非后面跟着 $`\

第一个不带反斜杠的反引号终止命令替换。

命令替换可以嵌套。如果使用 `command`形式,使用 \ 转义里面的 `

如果在 ""内,word splitting和文件名扩展将不起作用。

list=$(ls)
list=`ls`

y=`x=\`ls\`;echo $x`

y="`ls`"