shell重定向到/dev/null后grep获取不到值

写了个判断 spring cloud 项目是否启动的脚本,主要方法是:

curl http://ip:port/actuator/health | grep status

如果 echo $? 返回是 0,那应用就启动了,现在问题是 curl 会有一大串命令输出到屏幕上,我不想看到这些命令,于是:

curl http://ip:port/actuator/health >/dev/null 2>&1 | grep status

但是放到黑洞文件后,grep 就获取不到值了。。

我现在是把管道分割成单独命令,curl 输出到文件去:

curl http://ip:port/actuator/health >./curl.log 2>&1
grep status ./curl.log >/dev/null 2>&1

有其他办法嘛?

阅读 2.8k
2 个回答

或许你需要的是安静模式?

curl -s http://ip:port/actuator/health | grep status 

可以用 curl -s命令只输出接口响应的内容。

可以参考我写的这个SpringBoot程序的启动/停止/重启/查看状态/升级版本 shell脚本

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题