Présentation
Les variables de shell sont des paires clé-valeur utilisées pour stocker des données de configuration importantes pour le shell. Étant donné qu'une variable n'est qu'un pointeur vers une donnée, elle peut contenir une référence à n'importe quel type de données - un nom, un numéro, un nom de fichier ou même une autre variable.
Toutes les variables définies par l'utilisateur dans le shell bash sont locales par défaut. Cela signifie que les processus enfants du shell n'héritent pas des variables du shell. L'utilisateur doit exporter les variables pour les rendre disponibles aux processus enfants.
Ce didacticiel vous montrera comment exporter des variables Bash sous Linux à l'aide de export
commande.
Prérequis
- Accès au terminal/ligne de commande.
- Le shell bash.
Que fait la commande d'exportation dans Bash ?
Les variables dans Bash sont créées à l'aide de la commande declare ou en tapant simplement la paire clé-valeur dans le shell. Par exemple, pour créer une variable nommée test
, dont la valeur de chaîne est example
, saisissez :
test="example"
Pour voir la valeur d'une variable, utilisez la commande echo :
echo $test
La valeur apparaît dans la sortie :
Cependant, la variable ainsi créée ne s'applique qu'à la session shell en cours. Pour tester cela, ouvrez un shell enfant en tapant :
bash
Utiliser echo
pour vérifier la variable.
echo $test
La sortie est vide car la variable test
a une valeur uniquement dans le shell parent. Une variable doit être exportée pour être utilisée dans les processus enfants.
L'exportation de variables est également importante pour les scripts Bash. L'exemple ci-dessous crée un script nommé test-script.sh
qui affiche la valeur du test
variable.
1. Créez le fichier à l'aide d'un éditeur de texte tel que nano :
nano test-script.sh
2. Tapez ce qui suit dans le fichier :
#!/bin/bash
echo $test
3. Enregistrez le fichier et quittez.
4. Modifiez les autorisations du fichier pour permettre son exécution :
chmod u+x test-script.sh
5. Exécutez le script :
./test-script.sh
Le script renvoie une sortie vide.
La sortie est vide car le script est exécuté dans un shell enfant qui s'ouvre automatiquement lors de l'exécution du script.
Comment exporter une variable Bash
La syntaxe de l'export
la commande est simple :
export [variable-name]
L'exemple ci-dessous confirme que le test
la variable existe même après l'utilisation de bash
pour démarrer une nouvelle session shell.
Les scripts ont désormais également accès à la variable. Exécutez à nouveau le script créé précédemment.
./test-script.sh
Il affiche désormais correctement la valeur de test
.
Fonctions d'exportation
Utilisez l'export
commande pour exporter les fonctions bash.
1. Par exemple, créez une fonction bash appelée echoVar
:
function echoVar
2. La fonction appelle echo
pour afficher la valeur du test
variables :
{
echo "The value of the test variable is: "$test
}
3. La fonction peut maintenant être appelée par son nom pour afficher la valeur de la variable. Pour rendre la fonction disponible dans les processus enfants, tapez :
export -f echoVar
La fonction est désormais disponible dans les shells enfants.
Affichage de toutes les variables exportées
Lorsque l'export
La commande est émise sans arguments, elle affiche la liste de toutes les variables. Pour exporter toutes les variables répertoriées vers les processus enfants, utilisez le -p
option.
export -p
Les deux variables créées dans cet article se trouvent en bas de la sortie.
Pour annuler l'effet de export -p
, utilisez le -n
option.
export -n
Les variables sont à nouveau limitées à la session shell en cours.