Page 1 sur 1

exec ( $script $paramètre) ??

Posté : 03 févr. 2006, 10:49
par mimi
Bonjour à tous,

je n'arrive pas a trouver la syntaxe pour executer une commande (un script.sh) avec un fichier de paramètre $fichier
$fin = exec (`$script $temp`); 
un truc dans ce style parceque sous linux lorsque je fai: /chemin/script.sh /chemin/fichier
ca execute le script en prenant fichier comme fichier de paramètre...

j'ai essayé plein de syntaxe $script,$fichier '$script,$fichier' etc.....
je n'arrive pas à trouver la bonne syntaxe...

merci de vote aide

Posté : 03 févr. 2006, 10:54
par zeus
si tu fait
echo `$script $temp`;
tu obtient bien la ligne de commande que tu veux ?

Il est possible qu'il faille déspécialiser les /

Posté : 03 févr. 2006, 11:14
par mimi
euh non
echo "$script $temp";
m'affiche bien ce que je veux...
c'est pour ca je ne comprend pas pourquoi ca ne fonctionne pas

Posté : 03 févr. 2006, 11:34
par zeus
Et si tu fait un escapeshellcmd
sur la commande ?

Posté : 03 févr. 2006, 11:42
par mimi
ah non n'ai pas essayé ca!! mais je vais le faire!!

:wink: merci bien

Posté : 03 févr. 2006, 12:05
par zeus
Je viens de réagir qu'il ne faut pas faire un exec d'une commande se trouvant entre `

regarde cet article

Posté : 06 févr. 2006, 16:46
par mimi
apres quelques jours,
je n'y arrive toujours pas meme en utilisant escapeshellcmd

si j'essai ce code
$command = escapeshellcmd (`$script $temp`);
echo "$command<br>";
$fini = exec ($command);
echo $fini;
j'obtient cette erreur
Warning: exec(): Cannot execute a blank command in /var/www/fin.php on line 74
$command = escapeshellcmd ("$script $temp");
echo "$command<br>";
$fini = exec ($command);
echo $fini;
j'obtient ceci /home/scripts/restauration.sh /tmp/tempqFg5c4
c'est donc que $command contient la bonne valeur mais ca ne marche pas, le script n'est pas executé??!!
j'ai essayé avec des ", des ', des ` mais rien n'y fait...
si vous aviez une idée?? merci