如何将这个bash脚本变成一个单行程?

时间:2014-11-19 20:17:27

标签: bash

对于以下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

我最终必须将这个逻辑变成一个木偶服务,标准状态检查是不够的。

更新。对不起,我在最初的问题中没有更清楚,感谢您的评论和回答。 :)

1 个答案:

答案 0 :(得分:4)

您可以使用:

service blah status > /dev/null &&
    keystone token-get 2>&1 | grep -q "^Authentication Failed" &&
    echo "ok" || echo "need to restart"