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!'