在 bash 中,-e 选项在出错后停止执行,并且 grep 命令返回非零状态,以防它找不到它正在寻找的模式。 我想在 if 语句中使用 grep,比如
#/bin/bash -e
if [[ `grep str /usr/lib/file.txt` -eq 0 ]]
//do something
fi
如果我使用 $?获取最后一个命令的语句,然后执行在最后一个命令之后停止,因为 grep 返回非零状态。 必须有某种方法可以完成此操作,需要帮助找到它
最佳答案
就地做:
#/bin/bash -e
if grep -q str /usr/lib/file.txt; then
echo "Found str"
else
echo "Didn't find str"
fi
注意 grep
的 -q
(--quiet
) 选项,我们只对退出状态感兴趣。
关于linux - 如何在设置了 -e 选项的 shell 中使用 grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41009627/