Re: cde stop, cde start, cde restart

Top Page

Reply to this message
Author: smorico
Date:  
To: anne aublanc, guilde
Subject: Re: cde stop, cde start, cde restart
Bonjour,

Lorsqu'un script est executé, les arguments qui lui on été passés en
ligne de commande sont accessibles grâce aux variables $1 $2 $3
(etc....) qui contiennent respectivement les arguments 1, 2 et 3 etc...

Il suffit donc de tester la valeur de $1.
Pour cela, l'instruction case est bien plus pratique qu'un simple if

voici un exemple à adapter :

#!/bin/sh

case "$1" in
start)
echo -n "Demarrage du script... "
# code de start
echo "Fait."
;;

stop)
echo -n "Arret du script... "
# code de stop
echo "Fait."
;;

restart)
echo -n "Redemarrage du script... "
# code de restart
echo "Fait."
;;

status)
echo "status :"
# code de status
;;

*)
echo -e "\n"
echo "Usage : /etc/init.d/script {start|stop|status}"
echo -e "\n"
exit ;;

esac

exit 0


Les d'instructions entre start) et ";;" sont executées si $1 contient
start. Il en est de même pour stop, restart ou status, ou n'importe quoi
d'autre.
Les instructions entre *) et ";;" sont executés dans les autres cas,
donc si on ne passe rien en parametre ou si on passe un mauvais argument
(c'est pourquoi on affiche une petite aide)...

C'est exactement comme ça que fonctionne /etc/init.d/skeleton

anne aublanc a écrit :

>bonjour,
>
>Si quelqu'un pouvait m'expliquer comment on fait pour pouvoir utiliser stop,
>start, restart...
>
>J'ai fait un petit pgm bash que j'ai mis dans inittab pour qu'il soit démaré
>automatiquement au boot.
>
>J'aimerai pouvoir faire "mon_pgm stop" "mon_pgm start" "mon_pgm restart"....
>
>Comment fait-on pour avoir ces options?
>
>Si vous aviez un petit exemple...
>
>merci
>anne
>
>
>
>
>