将LSOF退出代码重定向到变量

时间:2012-06-22 09:58:09

标签: linux bash lsof

我正在尝试测试文件是否已打开,然后使用退出代码执行某些操作。目前这样做:

   FILE=/usr/local/test.sh
   lsof "$FILE" | grep -q COMMAND &>/dev/null
   completed=$? 

有没有办法可以将退出代码直接推送到局部变量,而不是将输出重定向到/ dev / null并捕获'$?'变量?

1 个答案:

答案 0 :(得分:2)

嗯,你可以这样做:

lsof "$FILE" | grep -q COMMAND; completed=$?

没有必要重定向任何东西,因为grep -q是安静的。如果你想在grep成功时做某些动作,只需使用&&运营商。在这种情况下存储退出状态可能是不必要的。

lsof "$FILE" | grep -q COMMAND && echo 'Command was found!'