Comment executer des commandes depuis un script
Résolu/Fermé
helmii
Messages postés
28
Date d'inscription
mercredi 19 juin 2013
Statut
Membre
Dernière intervention
8 juillet 2013
-
1 juil. 2013 à 12:48
helmii Messages postés 28 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 8 juillet 2013 - 2 juil. 2013 à 11:44
helmii Messages postés 28 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 8 juillet 2013 - 2 juil. 2013 à 11:44
Bonjour tt le monde je veux executer deux commande depuis un script et les voila:
sudo ifdown wlan1
sudo ifup wlan1
j ai essayer avec system "sudo ifdown wlan1" mais sa ne marche pas!quelqu un a-t-il une idée comment résoudre ce problème svp?
sudo ifdown wlan1
sudo ifup wlan1
j ai essayer avec system "sudo ifdown wlan1" mais sa ne marche pas!quelqu un a-t-il une idée comment résoudre ce problème svp?
A voir également:
- Comment executer des commandes depuis un script
- Script vidéo youtube - Guide
- Invite de commandes - Guide
- Commandes terminal mac - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
2 réponses
[Dal]
Messages postés
6204
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
27 février 2025
1 102
2 juil. 2013 à 09:52
2 juil. 2013 à 09:52
Tu peux te servir de $? pour tenter de déterminer la cause, en utilisant la méthode recommandée dans la documentation https://perldoc.perl.org/functions/system.
Sinon, si l'utilisateur qui lance sudo en lançant ce script n'est pas un sudoer, et n'est pas autorisé à lancer ce script sans mot de passe, c'est un peu normal que cela échoue.
Dal
#!/usr/bin/perl use strict; use warnings; my @args = ("sudo", "ifdown", "wlan1"); system (@args) == 0 or die "system @args failed: $?"; if ($? == -1) { print "failed to execute: $!\n"; } elsif ($? &127) { printf "child died with signal %d, %s coredump\n", ($? &127), ($? &128) ? 'with' : 'without'; } else { printf "child exited with value %d\n", $? >>8; }
Sinon, si l'utilisateur qui lance sudo en lançant ce script n'est pas un sudoer, et n'est pas autorisé à lancer ce script sans mot de passe, c'est un peu normal que cela échoue.
Dal
helmii
Messages postés
28
Date d'inscription
mercredi 19 juin 2013
Statut
Membre
Dernière intervention
8 juillet 2013
2 juil. 2013 à 11:44
2 juil. 2013 à 11:44
Bonjour je l'ai résolu en changeant exec par system..voila ce qu'est devenu mon code en esperant que sa aidera quelquen:
$ENV{PATH} = "/sbin/";
system 'ifdown','wlan1';
system 'ifup','wlan1';
en faite le /sbin existe deja dans $PATH mais sans la 1ère ligne sa ne marche pas et je sais pa pourquoi..le plus important c'est que le problème n'est plus :)) merci pour tt le monde
$ENV{PATH} = "/sbin/";
system 'ifdown','wlan1';
system 'ifup','wlan1';
en faite le /sbin existe deja dans $PATH mais sans la 1ère ligne sa ne marche pas et je sais pa pourquoi..le plus important c'est que le problème n'est plus :)) merci pour tt le monde