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."
;;
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
>
>
>
>
>