加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 当输入不匹配时避免grep返回错误

发布时间:2020-12-15 16:21:17 所属栏目:安全 来源:网络整理
导读:我想在一个bash脚本中写一段代码来检查一个程序是否已经运行。 我有以下为了搜索bar是否正在运行 foo=`ps -ef | grep bar | grep -v grep` 的 grep -v grep 部分是确保在ps结果中不会考虑“grep bar” 当bar不运行时,foo正确为空。但我的问题在于脚本有这样
我想在一个bash脚本中写一段代码来检查一个程序是否已经运行。
我有以下为了搜索bar是否正在运行
foo=`ps -ef | grep bar | grep -v grep`

grep -v grep

部分是确保在ps结果中不会考虑“grep bar”

当bar不运行时,foo正确为空。但我的问题在于脚本有这样的事实

set -e

这是一个标志,如果某些命令返回错误,则终止脚本。
事实证明,当bar不运行时,“grep -v grep”不匹配任何东西,grep返回一个错误。我尝试使用-q或-s但无济于事。

有什么解决方案吗?谢谢

当然:
ps -ef | grep bar | { grep -v grep || true; }

甚至:

ps -ef | grep bar | grep -v grep | cat

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读