0

我正在编写一个 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
}
4

1 回答 1

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
}
于 2011-04-30T23:58:27.010 回答