Création et exécution d'un script de base avec source
Dans cette étape, nous allons créer un fichier de script simple et utiliser la commande source pour l'exécuter dans notre environnement de shell actuel. Cela nous aidera à comprendre en quoi source diffère de l'exécution normale d'un script.
Lorsque vous exécutez un script normalement (en utilisant ./script.sh), le shell crée un nouveau sous - processus pour exécuter le script. Toutes les variables ou fonctions définies dans ce script n'existent que dans ce sous - processus et disparaissent lorsque le script se termine. Cependant, lorsque vous utilisez la commande source (ou son raccourci .), les commandes du script s'exécutent dans votre environnement de shell actuel, permettant aux variables et aux fonctions de persister après la fin de l'exécution du script.
Créons un script de base pour illustrer ce concept :
1. Accédez au répertoire du projet
Tout d'abord, assurez - vous d'être dans le bon répertoire :
cd ~/project
2. Créez un fichier de script simple
Créez un nouveau fichier nommé variables.sh en utilisant l'éditeur nano :
nano variables.sh
Ajoutez le contenu suivant au fichier :
#!/bin/bash
## Ce script définit une variable d'environnement
export WEATHER="Sunny"
echo "The weather is now set to: $WEATHER"
Appuyez sur Ctrl+O pour enregistrer le fichier, puis sur Enter pour confirmer le nom du fichier, et enfin sur Ctrl+X pour quitter nano.
3. Rendez le script exécutable
Avant de pouvoir exécuter le script, nous devons le rendre exécutable :
chmod +x variables.sh
4. Exécutez le script normalement
Tout d'abord, exécutons le script de la manière traditionnelle :
./variables.sh
Vous devriez voir une sortie similaire à :
The weather is now set to: Sunny
Maintenant, vérifiez si la variable WEATHER existe dans votre shell actuel :
echo $WEATHER
Il est probable que vous ne voyiez rien, ou une ligne vide. Cela est dû au fait que la variable n'a été définie que dans le sous - processus qui a exécuté le script, et non dans votre shell actuel.
5. Exécutez le script avec source
Maintenant, utilisons la commande source pour exécuter le script :
source variables.sh
Vous verrez la même sortie :
The weather is now set to: Sunny
Vérifiez à nouveau la variable WEATHER :
echo $WEATHER
Cette fois - ci, vous devriez voir :
Sunny
La variable WEATHER existe maintenant dans votre shell actuel car vous avez utilisé la commande source pour exécuter le script.
6. Utilisation de la notation abrégée
Vous pouvez également utiliser la notation abrégée (.) pour la commande source :
. variables.sh
Cela produira le même résultat que l'utilisation de source variables.sh.