Salut nouvo09,
nouvo09 wrote: param1)
./opt/mystuff/myprog param1
;;
param2)
./opt/mystuff/myprog param2
pourquoi le point . devant la commande alors que tu utilises un chemin absolu ?
Simplement par ce que j'ai cru comprendre que pour lancer un exécutable dans un script bash, il fallait mettre un point '.' devant sa ligne de commande dans la mesure où il ne fait pas partie des commandes (ou des exécutables) reconnu par l'OS.
Mais j'ai peut-être mal compris (une fois de plus).
Re salut remi,
A nouveau, merci pour tes liens.
J'ai regardé attentivement comment httpd se lance via le httpd.service mais je n'ai pas pigé comment se faisait le lien avec les fichiers "legacy-actions/httpd/xyz". Bon, je sais que je suis un peu (beaucoup) niaiseux, mais c'est comme ça.
Par ailleurs, je n'ai pas non plus compris qu'elle syntaxe utiliser pour ExecStart=/bin/sh pour qu'il exécute ensuite les commandes d'un script à suivre.
Sais-tu où je peux trouver des exemples concrets qui montrent comment faire par exemple un (et mon exemple ne marche pas... bien sur, mais c'est juste pour expliquer ce que j'essaye de faire) :
[Service]
ExecStart=/bin/sh
case param in
param1)
./opt/mystuff/myprog param1;;
param2)
./opt/mystuff/myprog param2;;
*)
./opt/mystuff/myprog;;
esac
Ou faut-il que je fasse un script qui fait ce que défini le case:esac et que je dise plutôt :
{Service]
ExecStart=/opt/mystuff/myscript.sh [param] ### ici je ne mets [param] que pour dire qu'il peut y avoir un paramêtre à suivre, mais je ne le mets pas dans le code du service.
Comme tu vois, je suis un peu (beaucoup) paumé avec les directives de systemd car le wiki, bien que très bien fait, manque d'exemples concrets. :-?
Merci de ta patience et de ton aide.