Passage de variables

Résolu/Fermé
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 13 juin 2016 à 14:57
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 14 juin 2016 à 14:47
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.


5 réponses

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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
13 juin 2016 à 18:24
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 samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 65
13 juin 2016 à 20:06
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 samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 65
14 juin 2016 à 01:54
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 lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 157
14 juin 2016 à 10:37
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 samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 65
14 juin 2016 à 14:47
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