2011-09-15 10 views
2

内に二重引用符:バッシュ - 私はbashスクリプトで以下の条件を使用しているバッククォート

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

それは基本的に動作します。 $ {OVERRIDE_ACTIONS}のパスの一部にスペースが含まれている場合を除き、grepは失敗します。どのように私は、これは、スペースを含むパスで動作するように取得することができます>

答えて

8

バッククォートを削除します。

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

なぜ? grepは、パターンの発生に成功した場合は0の値を返し、失敗した場合は1の値を返します。条件が0と評価された場合、ifステートメントの本文が実行されます。

関連する問題