Bash : Variables, comment les utiliser en dehors du fichier ?

Bonjour,

Je souhaitais savoir si il y avait un moyen d’exploiter les variables d’un fichier. Je m’explique.

J’ai un fichier : mes_variables.txt
Il contient :

animal="chat"
couleur="gris"
prenom=“grigri”

Je voudrais pouvoir récupérer ces variables par exemple si je fait :
echo $animal
je voudrais que mon shell me retourne chat

Je ne veux pas que ce soit un script. Mais si ce n’est pas possible de cette façon, auriez vous des conseils ?

Salut
faut voir du coté de la directive export

http://www.linux-france.org/article/dalox/unix04.htm#lesva

2 J'aime

Merci, je vais lire ça :slight_smile:

un bon cours
http://www.tuteurs.ens.fr/unix/shell/

1 J'aime

Je regarde ça aussi dés que je peux :smiley:
Merci :smiley:

Bonjour

Si le shell est bash

Extrait de la page man de bash
option a de la commande interne set du bash :

…
     -a  Marquer automatiquement des variables et fonctions modifiées ou créées 
         pour qu'elles soient exportées dans l'environnement des commandes exécutées ultérieurement.
…

Donc :

set -a
source mes_variables.txt
set +a

La commande source peut être remplacée par un simple point
donc, en une seule ligne, on pourrait écrire :

set -a;. mes_variables.txt;set +a

Ce qui donnerait :

michel@debg53sw:~$ cat mes_variables.txt
animal="chat"
couleur="gris"
prenom="grigri"
michel@debg53sw:~$ echo $animal $couleur $prenom

michel@debg53sw:~$ set -a;. mes_variables.txt;set +a
michel@debg53sw:~$ echo $animal $couleur $prenom
chat gris grigri
michel@debg53sw:~$ 

Voir : https://unix.stackexchange.com/questions/79064/how-to-export-variables-from-a-file

4 J'aime