【发布时间】:2017-07-31 09:01:04
【问题描述】:
问题基本上是,bash如何处理双引号和括号?
我想不出更好的例子,所以对此表示歉意,但想象一下这样的事情:
"$(echo "${foo}")"
那里会发生什么? ${foo} 技术上是否超出报价范围? bash 是否足够聪明,可以考虑到它在括号内并由内而外地工作? \"${foo}\" 会更好吗?
我试过用谷歌搜索这个,但没有运气。请注意,这与嵌套引用问题不同,因为它包括扩展。
谢谢!
【问题讨论】:
-
我感觉你理解错了。你能澄清一下你的观点吗?
-
我想防止分词。两次。因此,我展示的示例是更复杂的命令调用的一部分。 IE。我希望
$(echo ${foo})的结果被解释为一个词,但 ${foo} 也应该被解释为一个词。这主要是出于对 bash 转义如何工作的好奇,而不是我无法通过例如解决这个问题。临时变量。
标签: bash shell escaping sh double-quotes