使用命令的输出结果替换。
语法
$(command)
或
`command`
在子shell环境中执行命令,并将命令的标准输出
作为替换,并删除所有换行符。
嵌入的换行符不会删除,但是在分词时可能会被删。
$(cat file)
可以被 更高效的 $(< file)
替换。
``
是一种老的替换方式。 \
保留字面意义,除非后面跟着 $
、 `
、 \
。
第一个不带反斜杠的反引号终止命令替换。
命令替换可以嵌套。如果使用 `command`
形式,使用 \
转义里面的 `
。
如果在 ""
内,word splitting和文件名扩展将不起作用。
list=$(ls)
list=`ls`
y=`x=\`ls\`;echo $x`
y="`ls`"