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 :

perl dans du shell


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut perl dans du shell
    yooooooo tout le monde !

    dites je voudrais exécuter une commande dans mon shell, qui permet en fait d'appeler un script perl...

    faut faire comment ?

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    C'est pas très clair ce que tu demandes...
    Pour lancer un script Perl en ligne de commande, en gros tu as deux choix :
    • soit il a le bon shebang (la première ligne du script qui commence par #!, elle doit indiquer le chemin de l'exécutable perl), et tu peux simplement taper le chemin du script Perl pour l'exécuter.
    • soit tu n'es pas sûr qu'il a le bon shebang, ou tu ne veux pas prendre de risque et tu tapes perl chemin_du_script.


    Ca c'est valable plutôt sous Linux/Unix, mais si tu es sous Windows la question est un peu différente.

    --
    Jedaï

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    oui dsl c'était pas trés clair !

    en fait dans mon script bidule.c, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     /* code executed by the demon */
            while( 1 )
            {
                    sleep(1);
                    $$$$$$$$$$$$      
                    continue;
            }
    et à la place des $$$$$$$$$$$, je veux lancer la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     iexeccmd -H ccsrb03 SrbGetPerf -fs /srb -time 4;
    SrbGetPerf, étant un script perl...

    iexecmd est une commande prropre au serveur sur lequel je bosse...

  4. #4
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Il nous faut savoir qui tu es dans un environnement Windows ou linux ou autre.
    Sous Linux, si ton script commence par un shebang (première ligne de type #! /usr/bin/perl), il te suffit de rendre ton script exécutable (avec un chmod) et de l'appeler comme un programme normal.
    Sinon, utilise la commande perl.

    Je ne fais que répéter ce que dit Jedai...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    oui je suis sur linux, mais je n'ai pas le choix, je doi utiliser la commande avec iexecmd...

  6. #6
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Comment marche la commande iexecmd ? Si elle te permet d'éxécuter une commande shell, la démarche à suivre est simple :
    Regarde si ton fichier commence par un shebang. Si ce n'est pas le cas, rajoute le. Rend ce fichier exécutable avec chmod. Avec ta commande iexecmd, exécute la commande /chemin_vers_ton_script/script.pl et le script s'exécutera.

  7. #7
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par chti_juanito
    oui dsl c'était pas trés clair !

    en fait dans mon script bidule.c, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     /* code executed by the demon */
            while( 1 )
            {
                    sleep(1);
                    $$$$$$$$$$$$      
                    continue;
            }
    et à la place des $$$$$$$$$$$, je veux lancer la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     iexeccmd -H ccsrb03 SrbGetPerf -fs /srb -time 4;
    SrbGetPerf, étant un script perl...

    iexecmd est une commande prropre au serveur sur lequel je bosse...
    En fait ta question est une question C... La réponse dépend de l'OS. Par exemple sous Linux selon que tu veux conserver ou non l'environnement actuel du programme, il faut que tu utilises l'une des fonctions exec*() (regarde le manuel) après un fork().

    --
    Jedaï

Discussions similaires

  1. Insertion d'une variable Perl dans une commande SHELL
    Par dubis dans le forum Programmation et administration système
    Réponses: 15
    Dernier message: 16/08/2010, 15h47
  2. Réponses: 3
    Dernier message: 17/09/2008, 14h02
  3. Lancer une commande Perl dans un script Shell
    Par Ryo_san dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 02/06/2008, 11h01
  4. Comment lancer un script perl dans un script perl
    Par kiza dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2005, 21h02
  5. Réponses: 3
    Dernier message: 26/09/2005, 10h41

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