Page 1 sur 1
fonction exec et arguments
Posté : 25 mai 2010, 18:15
par chgall2
bonjour a tous,
je voudrais éxécuter un script shell depuis php et j'ai besoin de vos lumières
dans mon code php:
exec("sudo /root/scripts/ajout.sh ".$login.....);
je met 4 petits points car mon script attend un 2eme paramètre($dossier) mais je ne connais pas la syntaxe.
j'ai un script qui s'éxécute correctement avec un seul argument donc l'utilisateur apache possède les droits.
d'avance merci pour vos réponses
Re: fonction exec et arguments
Posté : 25 mai 2010, 18:17
par stealth35
comment tu ferais direct en ligne de commande ?
Re: fonction exec et arguments
Posté : 25 mai 2010, 18:26
par chgall2
en ligne de commande je taperai:
./ajout.sh $login $dossier
Re: fonction exec et arguments
Posté : 25 mai 2010, 18:27
par stealth35
en ligne de commande je taperai:
./ajout.sh $login $dossier
qu'est ce qui te gène la dedans ?
Re: fonction exec et arguments
Posté : 25 mai 2010, 18:33
par chgall2
pour un script avec une variable j'ai mis:
exec("sudo /root/scripts/ajout.sh ".$login);
ca c'est ok.
pour le deuxième argument je dois rajouter des cotes, un espace?
Re: fonction exec et arguments
Posté : 25 mai 2010, 19:32
par stealth35
ouai, ou comme t'es en double quote tu peux faire direct
exec("sudo /root/scripts/ajout.sh $login $dossier");
Re: fonction exec et arguments
Posté : 26 mai 2010, 09:52
par chgall2
merci pour la rapidité de ta réponse stealth ca fonctionne
a+
Re: fonction exec et arguments
Posté : 26 mai 2010, 10:05
par zeus
La solution de
stealth35 fonctionne parfaitement.
Toutefois, en ce qui me concerne, quand il faut inclure des paramètre, je suis un fan du sprintf() :
// Je construit la commande en dehors, pour simplifier la lecture du code.
// Le sprintf permet de décomposer la complexité de la ligne : d'un côté la commande brute, de l'autre, les variable qui permettent d'alimenter la commande
$exec_cmd = sprintf('sudo /root/scripts/ajout.sh %s %s', $login, $dossier);
// Execution de la commande
exec($exec_cmd);
PS : ah oui, n'oublie pas de cliquer sur le petit bouton vert sur le message de
stealth35 qui t'a permis de résoudre ton soucis pour indiquer aux futurs visiteurs la réponse qui t'as aidée

Re: fonction exec et arguments
Posté : 26 mai 2010, 10:22
par chgall2
merci zeus,
je vais tester tout ca!