2011-05-23 8 views
2

J'ai déjà mentionné dans mon last question que j'ai une méthode principale dans script1 qui doit s'exécuter pour chaque ensemble de variables dans script2.Comment utiliser les variables dans un autre script shell dans une boucle dans mon script principal?

Je veux exécuter le script principal encore et encore pour chaque ensemble de variables (var1 à var8 puisque la méthode principale utilise 8 variables à exécuter) dans script2.

Comment puis-je y parvenir?

+0

Pourquoi ne pas vous les transmettre comme arguments de ligne de commande à SCRIPT2? –

Répondre

1

script1:

var1=(a b c) 
... 
var8=(98 545 4) 
for ((i = 0 ; i < 3 ; i++)) 
do 
    script2 ${var1[i]} ... ${var8[i]} 
done 

SCRIPT2:

if [ $# -eq 9 ]; then # $# is the total number of arguments. 
    var1=$1 
    ... 
    var8=$8 
fi 
+0

Si un autre ensemble de variables doit être attribué à nouveau pour les mêmes noms de variables, comment cela peut-il être fait? Je veux dire, après ce premier jeu, le deuxième jeu de variables doit être assigné au script principal dans script1, comme ça il doit continuer. Comment faire ça? – Venky

+0

Pas sûr de comprendre ce que vous voulez dire mais je pense que vous voulez une boucle for dans script1 qui lance script2 avec diverses valeurs 'varN'. – log0

+0

exactement ce que je veux. – Venky

Questions connexes