Question

Je suis en train d'écrire un script init.d et cherche à tester si une valeur retournée est supérieur à 1. Quelle serait la syntaxe correcte pour « supérieure »?

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

La solution

D'après mes souvenirs scripts d'initialisation sont écrits dans le shell sh. De nombreux scripts shell utilisent un fichier pid (habituellement dans / var / run) pour vérifier si un service est en cours d'exécution. Dans votre cas, un processus que l'on trouve dans le ps est utilisé pour la validation.

Le test que vous effectuez est quelque peu incorrect, comme ps / grep reviennent pas un numéro, mais un ensemble de caractères ou de rien. Procédez comme suit:

mc_status() {
        if [ ! -z "`ps ax | grep -ci 'CanaryMod.jar'`" ]; then
                echo "$SERVICE is running."
        else
                echo "$SERVICE is not running."
        fi
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top