我需要使用/etc/init.d/httpd status命令来验证它是否在shell内运行。 我不想使用pidof pgrep等 - 像
这样的东西retval=`/etc/init.d/httpd status`
if [ $retval -eq "running" ];then echo "yes" ; else echo "no";fi
有什么想法吗?
答案 0 :(得分:3)
$?
会为您提供最新返回代码的值。 E.g。
/etc/init.d/httpd status > /dev/null # ignore stdout
if [ $? -eq 0 ]; then
echo "yes"
else
echo "no"
fi
答案 1 :(得分:0)
您可以直接在if
声明中运行命令:
if /etc/init.d/httpd status > /dev/null
then
或者您可以检查输出字符串:
retval=$(/etc/init.d/httpd status)
if [[ $retval == *running* ]]
then
顺便说一下,-eq
是一个数字测试。