0

私が行った場合:

if grep someexpression somefile >/dev/null; then
   ...
fi

物事はうまくいきます。

「not」を実行するには、これを実行できることを知っています(テストコマンドである[]を使用)。

if [ '!' somecondition ] ; then
   ...
fi

簡単な回避策:

grep someexpression somefile >/dev/null
if [ '!' $? ]; then
   ...
fi

ただし、上記の回避策はwhileループでは機能しないため、代わりに関数を作成する必要があります。これは面倒です。上記のgrepを使用しない場合、適切な方法はありますか?

4

1 に答える 1

3

試す:

if ! grep someexpression somefile >/dev/null; then
   ...
fi

後のスペース!は必須であることに注意してください。そうでない場合、履歴拡張が呼び出されます(試行されます)。

于 2012-04-20T11:27:40.097 に答える