对于以下bash脚本,我需要一个更紧凑的,最好是单行的:
#/bin/sh
service openstack-keystone status > /dev/null
service_rc=$?
keystone token-get 2>&1 | grep "^Authentication Failed" > /dev/null
keystone_rc=$?
if [ $service_rc != 0 -o $keystone_rc == 0 ]
then
echo "need to restart"
else
echo "ok"
fi
我最终必须将这个逻辑变成一个木偶服务,标准状态检查是不够的。
更新。对不起,我在最初的问题中没有更清楚,感谢您的评论和回答。 :)
答案 0 :(得分:4)
您可以使用:
service blah status > /dev/null &&
keystone token-get 2>&1 | grep -q "^Authentication Failed" &&
echo "ok" || echo "need to restart"