Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/07/2011, 22h33   #1
Membre régulier
 
Inscription : octobre 2006
Messages : 233
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : octobre 2006
Messages : 233
Points : 94
Points : 94
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 :
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
kuja2053 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 03h28   #2
Membre confirmé
 
Avatar de provirus
 
Homme Simon Levesque
Consultant informatique
Inscription : février 2009
Messages : 97
Détails du profil
Informations personnelles :
Nom : Homme Simon Levesque
Âge : 26
Localisation : Canada

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : février 2009
Messages : 97
Points : 279
Points : 279
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.
__________________
Blog - Tutoriels vidéos - Espace DVP
provirus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 03h38   #3
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 071
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 071
Points : 4 154
Points : 4 154
Bonjour,

Code :
1
2
3
4
5
6
7
#!/bin/sh
 
#/home/moi/scripts/script_A
 
export PATH=$PATH:$HOME/scripts
 
script_B "$@"
Code :
1
2
3
4
5
#!/bin/sh
 
#/home/moi/scripts/script_B
 
echo "$1 $2 $3"
Code :
1
2
3
chmod +x scripts/scripts_*
scripts/script_A foo bar baz foobar barbaz
foo bar baz
...
?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 11h58   #4
Membre régulier
 
Inscription : octobre 2006
Messages : 233
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : octobre 2006
Messages : 233
Points : 94
Points : 94
Par défaut Suite

Pour passer les arguments. tu fais comme ça

Code :
1
2
 
Script_B "$ArgText0" "$ArgText1" $ArgNumber0 $ArgNumber1

ou comme ça

Code :
1
2
 
Script_B ""$ArgText0" "$ArgText1" $ArgNumber0 $ArgNumber1"
kuja2053 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 19h43   #5
Expert Confirmé Sénior
 
Avatar de Sve@r
 
Homme Frédéric
Ingénieur développement logiciels
Inscription : février 2006
Messages : 3 055
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Âge : 44
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 : 3 055
Points : 4 934
Points : 4 934
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)
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit.
Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant.
Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation.
Dr. Adrian Rogers, 1931
Sve@r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 22h35   #6
Membre régulier
 
Inscription : octobre 2006
Messages : 233
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : octobre 2006
Messages : 233
Points : 94
Points : 94
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
kuja2053 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h36.


 
 
 
 
Partenaires

Hébergement Web