Passage de variables

Résolu/Fermé
zatox
Messages postés
641
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
641
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
36317
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 568
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
641
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
26 juin 2020
64
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
641
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
26 juin 2020
64
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
1156
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
152
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
641
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
26 juin 2020
64
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