2015-12-14 301 views
1

什么

failed_instance=`aws deploy` 

failed_instance=$(aws deploy) 

我说的`和$(?

回答

5

两者都是的区别语义相同,并且两者都由POSIX sh标准强制执行,但$()是较新的现代语法。

  • 反斜杠处理与$()内部一样,但反斜杠需要转义(批次在嵌套时转义)。
  • 它整洁地嵌套。比较

    printf '%s\n' "$(foo "$(bar)")"  # new POSIX sh syntax 
    

    其旧式相当于...

    printf '%s\n' "`foo \"\`bar\`\"`" # legacy Bourne syntax 
    
+0

你的答案是优秀的,一如既往;然而,如果你标记明显的重复而不是回答它们会更好。提前致谢。 – tripleee

+0

直到回答完之后才记得另一个例子,当我到达那里时,基思已经打败了我。 –

+0

我从来没有找到任何不在标签wiki上的答案。我在那里添加了这个。 –