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 03/02/2011, 16h20   #1
Invité de passage
 
bénédicte
Inscription : novembre 2010
Messages : 8
Détails du profil
Informations personnelles :
Nom : bénédicte
Âge : 26

Informations forums :
Inscription : novembre 2010
Messages : 8
Points : 4
Points : 4
Par défaut création d'un script

Bonjour,

je dois créer un script (.ksh) qui permet de lancer un autre script .ksh avec des paramètres différents sauf qu'il ne faut pas qu'il lance tout en même temps.

Pour être plus clair, j'ai le programme transfert.ksh avec un paramètre.
Je dois créer un autre script qui doit lancer plusieurs fois le premier :
. transfert.ksh 1
. transfert.ksh 2
. transfert.ksh 3
Mais il faut que le premier lancement soit fini avant de commencer le deuxième et même chose pour le troisième.

C'est la première fois que j'utilise cette programmation et je ne connais pas grand chose.
pouvez vous m'aider?

Merci d'avance
belema56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 17h23   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 146
Points : 4 146
Bonjour,

un script attend toujours qu'une commande soit terminée avant de lancer la suivante (à moins que la précédente commande soit mise en arrière plan, mais c'est une autre histoire); comme le terminal.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 20h58   #3
Membre éclairé
 
Homme Lilian Herault
Architecte technique
Inscription : juin 2010
Messages : 215
Détails du profil
Informations personnelles :
Nom : Homme Lilian Herault
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Architecte technique
Secteur : Industrie

Informations forums :
Inscription : juin 2010
Messages : 215
Points : 335
Points : 335
Bonjour,

Je suis d'accord avec N_Bah.

Citation:
Mais il faut que le premier lancement soit fini avant de commencer le deuxième et même chose pour le troisième.
Ce que tu souhaites est le comportement par défaut.
Et d'ailleurs pourquoi serait-il autrement ?

Quel est ton besoins en fait ?

Lilian.
lilian_h est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 21h00   #4
Membre éclairé
 
Homme Lilian Herault
Architecte technique
Inscription : juin 2010
Messages : 215
Détails du profil
Informations personnelles :
Nom : Homme Lilian Herault
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Architecte technique
Secteur : Industrie

Informations forums :
Inscription : juin 2010
Messages : 215
Points : 335
Points : 335
C'est tellement vrai, que je te pose cette question :

Connais-tu un seul langage qui n’exécute pas séquentiellement une série d'instruction sans le vouloir explicitement (fork, thread, ...) ?

Lilian.
lilian_h est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 21h29   #5
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 146
Points : 4 146
le problème vient peut être du fait que belema56 source les scripts, donc source s'exécute bien l'un à la suite de l'autre, mais le premier script est ± en cours d'exécution quand le deuxième est lancé.

si ça peut "impacter", ça peut aussi "conflicter"
Code main.script :
1
2
3
4
5
6
7
#!/bin/bash
 
. premier
. deuxieme
. troisieme
 
echo "$var1 $var2 $var3"
Code premier :
1
2
3
4
5
#!/bin/bash
 
echo "premier script"
echo $0
var1="prems"
Code deuxieme :
1
2
3
4
5
6
7
#!/bin/bash
 
echo "deuxième script"
echo $0
echo "$var1"
var1="deuze"
var2="deuze"
Code troisieme :
1
2
3
4
5
6
7
8
9
#!/bin/bash
 
echo "troisième script"
echo $0
echo "$var1"
echo "$var2"
var1="troize"
var2="troize"
var3="troize"
Code :
1
2
3
4
5
6
7
8
9
10
11
12
$ chmod +x main.script premier deuxieme troizieme
$ ./main.script
premier script
./main.script
deuxième script
./main.script
prems
troisième script
./main.script
deuze
deuze
troize troize troize
alors que si
Code main.script :
1
2
3
4
5
6
7
#!/bin/bash
 
./premier
./deuxieme
./troisieme
 
echo "$var1 $var2 $var3"
Code :
1
2
3
4
5
6
7
8
$ ./main.script
premier script
./premier
deuxième script
./deuxieme

troisième script
./troisieme
la durée n'est pas la même non plus, c'est du simple au double en real
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/02/2011, 21h32   #6
Membre éclairé
 
Homme Lilian Herault
Architecte technique
Inscription : juin 2010
Messages : 215
Détails du profil
Informations personnelles :
Nom : Homme Lilian Herault
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Architecte technique
Secteur : Industrie

Informations forums :
Inscription : juin 2010
Messages : 215
Points : 335
Points : 335
Effectivement, c'est vrai.

Belema56 devrait alors nous préciser son contexte.

Peut-être aussi qu'elle a un besoin particulier ?

Lilian.
lilian_h est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h01.


 
 
 
 
Partenaires

Hébergement Web