【问题标题】:Bash -- Double quotes within BacktickBash——反引号内的双引号
【发布时间】:2011-11-17 13:53:02
【问题描述】:

我在 bash 脚本中使用以下条件:

if `grep -q "${ACTION_LABEL} Action" "${OVERRIDE_ACTIONS}"`; then
  ....
fi

它基本上可以工作。除非 ${OVERRIDE_ACTIONS} 中路径的任何部分包含空格,否则 grep 将失败。如何让它与包含空格的路径一起使用>

【问题讨论】:

    标签: bash double quotes


    【解决方案1】:

    去掉反引号:

    if grep -q "${ACTION_LABEL} Action" "${OVERRIDE_ACTIONS}"; then
        ...
    fi
    

    为什么? grep 将返回一个值 0 如果它成功地找到了你的模式的出现,或者 1 如果它失败了。如果条件评估为0,则将执行if 语句的主体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 2014-04-07
      • 1970-01-01
      相关资源
      最近更新 更多