Ubuntu Server init.d - 测试值是否大于1

时间:2011-04-30 23:29:34

标签: ubuntu conditional-operator init.d minecraft

我正在编写一个init.d脚本,我正在测试返回的值是否大于1.“大于”的正确语法是什么?

mc_status() {
        if ps ax | grep -ci 'CanaryMod.jar' > 0
        then
                echo "$SERVICE is running."
        else
                echo "$SERVICE is not running."
        fi
}

1 个答案:

答案 0 :(得分:1)

从我的回忆中,init脚本写在sh shell中。许多shell脚本使用pid文件(通常在/ var / run中找到)来检查服务是否正在运行。在您的情况下,ps中的过程用于验证。

您正在执行的测试有些不正确,因为ps / grep不返回数字而是返回一组字符或什么都没有。请尝试以下方法:

mc_status() {
        if [ ! -z "`ps ax | grep -ci 'CanaryMod.jar'`" ]; then
                echo "$SERVICE is running."
        else
                echo "$SERVICE is not running."
        fi
}