IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Exécution d'un script shell sous perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2009
    Messages
    220
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 220
    Par défaut Exécution d'un script shell sous perl
    Bonjour,

    Est ce que c'est possible d’exécuter un script SHELL sous un script PERL ??

    Si oui s'il vous plait dites moi comment, je suis vraiment null en perl mais j'ai besoin de cette astuce et c'est urgent. J'ai fait beaucoup de recherches et j'ai trouvé la fonction eval et exec mais je ne suis pas arrivé à les mettre en place.

    Merci beaucoup d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    la fonction exec met fin au programme Perl en cours et effectue l'appel à une fonction externe, qui peut être une commande système ou un shell. Le programme Perl est terminé et ne repartira pas.

    La fonction system est probablement plus proche de ce que tu recherches. Elle lance la commande passée en paramètre et se mets en attente de la fin de l'exécution de cette commande. Elle renvoie le statut de fin d'exécution de la commande.

    Les apostrophes inversées (backticks) ou qx// font la même chose mais récupèrent les données de sortie de la commande.

    Exemple sous Unix: si tu veux lister les process en cours:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my @processes = ` ps -l | grep toto`; # @processes = qx/ ps -l | grep toto/; aurait le même effet
    foreach (@processes) {
         { # faire quelque chose avec les lignes décrivant différents process
    }
    Pour bien apprendre Perl pense à lire ces cours et tutoriels : http://perl.developpez.com/cours/

Discussions similaires

  1. écrire dans un script shell depuis perl
    Par painouch21 dans le forum Langage
    Réponses: 1
    Dernier message: 10/02/2008, 14h03
  2. Lancer l'exécution d'un script Tcl sous MacOS X
    Par sekaijin dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 02/07/2007, 17h24
  3. Exécution d'un script javascript sous IE & Mozilla
    Par komoku dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/12/2006, 14h53
  4. Script shell sous unix
    Par taroudant dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 21/11/2006, 12h32
  5. Problème script shell sous ksh
    Par suya95 dans le forum Linux
    Réponses: 2
    Dernier message: 01/09/2006, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo