Passage de variables

Résolu
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   -  
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un problème de récupération de variable. J'ai un script1 qui appelle un script2 avec une variable en paramètre par exemple:
Dans script1:
instructions ....
./chemin/script2 $TOTO
instructions.

Dans script2 je vais récupérer la valeur de TOTO dans $1. Jusque là pas de problème.

Maintenant c'est différent, voici ce que je veux faire:

J'ai un script1 qui appelle un script2, dans le script2 je veux positionner la variable TOTO et récupérer cette valeur dans script1

Dans Script1
instructions ...
./chemin/script2
récupérer la valeur TOTO positionnée dans script2
instructions ...

Dans script2
TOTO="123456"

ça je ne sais pas faire, est-ce que quelqu'un aurait une solution ?

Merci pour votre aide.


A voir également:

5 réponses

WarloG
 
Salut

Si tu es patient(e) , attend le passage de zipe31,dubcek, c'est des spécialistes ,il sauront te diriger
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

La commande
source
(ou .) du bash devrait faire l'affaire.

$ cat script.sh 
#!/bin/bash

source script2.sh &>/dev/null

echo "La variable var de script1.sh contient : ${var}"


$ cat script2.sh 
#!/bin/bash

var="toto"

echo "====================="
echo "var contient : ${var}"
echo "====================="



$ ./script.sh 
La variable var de script1.sh contient : toto

0
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   66
 
Bonjour, merci pour ta réponse, je regarde et je dirais ce qu'il en est dès que possible.
J'ai une autre question sur les script shell, j'ai un script qui va lire un fichier .txt
Quand je lance ce script dans une console root il n'y a pas de problème, le fichier est bien lu, par contre quand je lance ce même script depuis cron en root également, il semble que le fichier ne soit pas lu !!!! pourtant ce fichier est en chmod 755.
Si quelqu'un a une idée, merci pour votre aide.
0
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   66
 
Bonsoir, bon j'ai regardé ce que tu me dis pour mon hictoire de variable que je dois récupérer mais j'avoue ne pas comprendre ce que je dois faire !!
Dans script1.sh j'ai mis ce que tu me dis: source script2.sh &>/dev/null
mais ensuite la variable qui est positionnée dans script2.sh je ne sais pas comment la récupérer dans script1.sh
si tu peux éclairer ma lanterne, je te remerci
0
UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention   158
 
Salut,

Si ta variable dans script2.sh s'appelle TOTO, il suffit de l'appeler par son petit nom depuis scrip1.sh :
echo "${TOTO}"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   66
 
Bonjour, ok merci à tous, j'ai regardé la commande source maintenant ça marche, j'ai un autre problème sur ce sujet mais qui est différent, je vais donc ouvrir un autre post.
Encore merci pour votre aide.
0