我怎样才能把这个 bash 脚本变成单行脚本?

Red*_*ket 1 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
Run Code Online (Sandbox Code Playgroud)

我最终必须将此逻辑放入傀儡服务中,其中标准状态检查是不够的。

更新。抱歉,我最初的问题没有说得更清楚,感谢您的评论和回答。:)

anu*_*ava 5

您可以使用:

service blah status > /dev/null &&
    keystone token-get 2>&1 | grep -q "^Authentication Failed" &&
    echo "ok" || echo "need to restart"
Run Code Online (Sandbox Code Playgroud)