fal*_*lky 1 shell bash posix quoting command-substitution
我正在尝试编写一个 bash 解析器。许多资源都提到了这个维基
我陷入困境的一个领域是为什么以下内容会起作用
echo "$(echo "hi")" # output => hi
根据维基,在命令替换之前解析引号。在这种情况下,为什么解析第一组双引号时不会出现错误,即"$(echo "
"$(echo "
Kam*_*ski 7
链接的文章说:
除了所有字符$,",`和\失去什么特殊的意义,他们可能有
$
"
`
\
[强调我的]
什么情况是$在$(你的代码仍然特别。$( )是命令替换的语法。关于命令替换,来自同一站点:
$(
$( )
值得注意的是,一旦进入命令替换,shell 就会开始一个全新的引用上下文。也就是说,替换内的双引号与替换外的双引号不匹配。
归档时间:
5 年,7 月 前
查看次数:
77 次
最近记录: