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

Shell et commandes GNU Discussion :

Exécution d'un Script personnel dans un autre Script


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut Exécution d'un Script personnel dans un autre Script
    Bonjour,

    Je souhaiterais lancer dans un script "A" shell un autre script "B". Or le Script B nécessite plusieurs arguments. Dans le Script B, ces arguments sont récupérer avec les variables $1, $2, $3...etc.

    Pour lancer "B"dans "A", j'ai mise à jour ma variable "PATH" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    export PATH=$PATH:/home/vivien/Scripts
    Mais quand mon Script "A" semble lancer le Script "B" sans prendre en compte les arguments que je mets à la suite.

    Donc ma question est quelle est la syntaxe à utiliser pour lancer dans un Script un autre Script avec des arguments ?

    Merci d'avance

  2. #2
    Membre confirmé
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Points : 580
    Points
    580
    Par défaut
    Bonjour

    Quel est le shell que tu utilises? Bash?

    Quelle est la ligne que tu as écrite pour appeler ton script B? Tu dois lui passer les paramètres à cette ligne.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/sh
     
    #/home/moi/scripts/script_A
     
    export PATH=$PATH:$HOME/scripts
     
    script_B "$@"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/sh
     
    #/home/moi/scripts/script_B
     
    echo "$1 $2 $3"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chmod +x scripts/scripts_*
    scripts/script_A foo bar baz foobar barbaz
    foo bar baz
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut Suite
    Pour passer les arguments. tu fais comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Script_B "$ArgText0" "$ArgText1" $ArgNumber0 $ArgNumber1

    ou comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Script_B ""$ArgText0" "$ArgText1" $ArgNumber0 $ArgNumber1"

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kuja2053 Voir le message
    Donc ma question est quelle est la syntaxe à utiliser pour lancer dans un Script un autre Script avec des arguments ?
    Bonjour
    Exactement de la même façon que si tu lançais ton second script depuis la console (qui est, rappelons-le, rien d'autre qu'un shell intéractif)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut Suite
    En fait j'avais une erreur dans les arguments que je transmettais au Script "B" depuis le script "A". Donc en effet c'est exactement comme depuis la console.

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2010, 08h56
  2. Réponses: 5
    Dernier message: 25/03/2009, 10h49
  3. appel d'un script perl dans un autre
    Par ouinih dans le forum Langage
    Réponses: 3
    Dernier message: 20/03/2008, 13h05
  4. Réponses: 5
    Dernier message: 23/12/2007, 15h12
  5. [VBS] appel d'un script VBS dans un autre script VBS???
    Par Amandine62 dans le forum VBScript
    Réponses: 9
    Dernier message: 31/01/2006, 18h17

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