【问题标题】:What is the difference between ` and $( in Bash? [duplicate]Bash中的`和$(有什么区别? [重复]
【发布时间】:2016-03-20 08:40:21
【问题描述】:

有什么区别

failed_instance=`aws deploy`

failed_instance=$(aws deploy)

我说的是 ` 和 $(?

【问题讨论】:

    标签: bash


    【解决方案1】:

    两者在语义上是相同的,并且都是 POSIX sh 标准强制要求的,但 $() 是更新的现代语法。

    • 反斜杠处理与 $() 中的常规处理相同,但反斜杠需要在反引号内转义(很多如果嵌套则转义)。
    • 它嵌套干净。比较

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

      与其旧式等效...

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

    【讨论】:

    • 你的回答一如既往的好;但是,如果您将明显的重复项标记为此类而不是回答它们会更好。提前致谢。
    • 直到回答后才记得另一个实例,当我到达那里时,基思已经打败了我。
    • 我也找不到任何不在标签 wiki 上的答案。我在那里添加了这个。
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2011-03-26
    • 2012-02-11
    • 2012-08-26
    • 1970-01-01
    相关资源
    最近更新 更多