Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
ファイルが開いているかどうかをテストしてから、終了コードで何かをしようとしています。現在、次のようにしています。
FILE=/usr/local/test.sh lsof "$FILE" | grep -q COMMAND &>/dev/null completed=$?
出力を /dev/null にリダイレクトして「$?」をキャプチャするのではなく、終了コードを直接ローカル変数にプッシュする方法はありますか? 変数?
さて、あなたはできる:
lsof "$FILE" | grep -q COMMAND; completed=$?
とにかく grep -q は静かなので、何もリダイレクトする必要はありません。grep が成功した場合に特定のアクションを実行したい場合は、 && 演算子を使用してください。この場合、終了ステータスを保存する必要はおそらくありません。
lsof "$FILE" | grep -q COMMAND && echo 'Command was found!'