小编Sla*_*hin的帖子

命令替换和双引号:为什么结果不同?

这是一个反引号和 $() 行为不同的示例:

$ echo "$(echo \"test\")"
"test"
$ echo "`echo \"test\"`"
test
Run Code Online (Sandbox Code Playgroud)

我的理解是这是因为“反引号内的反斜杠 (\) 以不明显的方式处理”

但这似乎是另一回事,因为当我删除外部双引号时,结果变得相似:

$ echo $(echo \"test\")
"test"
$ echo `echo \"test\"`
"test"
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下它是如何工作的以及为什么 "`echo \"test\"`" 删除双引号?

shell bash command-substitution

5
推荐指数
1
解决办法
282
查看次数

标签 统计

bash ×1

command-substitution ×1

shell ×1