Bash - Backtick中的双引号

时间:2011-09-15 05:23:37

标签: bash double quotes

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

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

它基本上有效。除非$ {OVERRIDE_ACTIONS}中的路径的任何部分包含空格,否则grep将失败。如何使用包含空格>

的路径

1 个答案:

答案 0 :(得分:8)

删除反引号:

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

为什么呢? grep如果成功找到您的模式,则会返回0的值,如果失败,则会1。如果条件评估为if,则将执行0语句的主体。