Commande source sous Linux

le commande source est une commande shell intégrée utilisée pour lire et exécuter des commandes à partir d’un fichier dans la session shell actuelle. La commande source est couramment utilisée pour conserver/modifier la variable d’environnement dans le shell actuel. En bref, la recherche d’un script exécutera des commandes d’exécution dans le shell actuel.

La commande source est utile pour :

  • Actualisation de votre environnement shell actuel
  • Pour exécuter un script shell dans le contexte de l’environnement actuel
  • Pour importer une fonction shell dans votre script
  • Lire des variables à partir d’un script shell

Syntaxe de la commande source

La syntaxe de cette commande shell intégrée est lisible par l’homme. Il prend un fichier et si des arguments sont fournis, ils servent de paramètres de position pour le script en cours de transmission.

source NOM DE FICHIER [ARGUMENTS]

le . (dot) peut également être utilisé comme alternative à la commande source.

. NOM DE FICHIER [ARGUMENTS]

Comment utiliser la commande source

Ici, j’explique quelques exemples pratiques où vous pouvez appliquer la commande source.

1. Actualisez votre environnement shell actuel

En tant qu’utilisateur, vous pouvez définir un alias dans votre environnement shell actuel. Pour en définir un pour ls -l taper:

alias ll=”ls -l”

Pour l’utiliser, tapez :

ll

Bien que la liste ci-dessus répertorie les fichiers du répertoire actuel au format long, cela ne fonctionne que pour la session shell actuelle. Pour apporter les modifications de manière permanente, ouvrez le fichier ~/.bashrc et ajoutez :

alias ll=”ls -l”

Pour rafraîchir le shell actuel type d’environnement :

source ~/.bashrc

2. Exécutez un script shell dans le contexte de l’environnement shell actuel

Un script shell ne connaît pas les variables que vous définissez en tant qu’utilisateur dans votre environnement shell actuel. La commande source peut être utilisée pour exécuter votre script shell dans le contexte de la session en cours.

Pour définir un type de variable temporaire :

SITE INTERNET = example.avec

Pour créer un type de script personnalisé :

#!/poubelle/bash
echo $SITE WEB

Save le fichier. Pour l’exécuter dans le contexte de la session shell actuelle, tapez :

source ./monscript.sh

La sortie est illustrée ci-dessous.

example.avec

3. Importer une fonction shell

Pour définir un type de script shell personnalisé :

!#/poubelle/bash
foo() { echo “test” }

Save ce qui précède en tant que script.sh.

Pour importer la fonction du script ci-dessus dans votre session shell actuelle, tapez :

script source.sh

Pour utiliser le foo type de fonction :

foo

La sortie est illustrée ci-dessous.

test

4. Lire les variables à partir d’un script shell

Pour créer un script shell avec quelques variables, tapez :

#!/poubelle/bash
a=1 b=2 c=3

Pour lire les variables dans un autre type de script shell :

#!/poubelle/bash
source abovescript.sh echo $a, $b, $c

La sortie doit être :

1, 2, 3

5. Lire et exécuter des commandes

La commande source peut lire et exécuter des commandes à partir d’un fichier. Ayons un fichier texte avec un ensemble de commandes.

Pour example le fichier commandes.txt a le contenu suivant :

pwd
Date

La sortie de la source  :

$ source firstexample.txt /home/developer Ven 25 février 11:10:11:09 GMT 2021

6. Passer des arguments aux fonctions

Cette section décrit comment passer le paramètre à la fonction et à la même fonction que nous pouvons réutiliser via la commande source.

fonctions.sh !/usr /bin/bash
var1=$1 var2=$2 execute.sh !/usr/bin/bash
sources fonctions.sh 10 AA echo “var1 = $var1” echo “var2 = $var2” Sortie.sh var1 = 10 var2 = AA

Conclusion

La commande source a évalué le script dans le shell actuel, tandis que la commande exec s’exécute dans un nouveau shell.

Grâce à cet article, vous avez appris quatre exemples pratiques de la commande source. Bien qu’ils soient tous utiles, le plus important pour vous en tant qu’utilisateur est le premier.