GNU/Linux >> Tutoriels Linux >  >> Linux

Commande source sous Linux

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

La commande source est utile pour :

  • Actualiser 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 pour 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 transmis.

source FILENAME [ARGUMENTS]

Le . (point) peut également être utilisé comme alternative à la commande source.

. FILENAME [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 saisissez :

alias ll = 'ls -l'

Pour l'utiliser tapez :

ll

Bien que ce qui précède répertorie les fichiers du répertoire courant au format long, cela ne fonctionne que pour la session shell en cours. Pour apporter les modifications de manière permanente, ouvrez le fichier ~/.bashrc et ajoutez :

alias ll = 'ls -l'

Pour actualiser le shell actuel type d'environnement :

source ~/.bashrc

2. Exécute un script shell dans le contexte de l'environnement shell actuel

Un script shell n'a pas connaissance des 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 :

WEBSITE = example.com

Pour créer un type de script personnalisé :

#!/bin/bash
echo $WEBSITE

Enregistrez le fichier. Pour l'exécuter dans le contexte de la session shell en cours, tapez :

source ./myscript.sh

La sortie est illustrée ci-dessous.

example.com

3. Importer une fonction shell

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

!#/bin/bash
foo() {
 echo  "test"
 }

Enregistrez ce qui précède sous script.sh.

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

source script.sh

Pour utiliser le foo type de fonction :

foo

La sortie est illustrée ci-dessous.

test

4. Lire des variables à partir d'un script shell

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

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

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

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

Le résultat devrait ê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. Prenons un fichier texte avec un ensemble de commandes.

Par exemple, le fichier command.txt a le contenu suivant :

pwd
date

La sortie de la source  :

$ source firstexample.txt
/home/developer
Fri Feb 25 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
 source functions.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 alors 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.


Linux
  1. Commande Linux mv

  2. Linux du command

  3. Commande IP Linux

  4. Exemples de commandes chsh sous Linux

  5. Changer le shell par défaut sous Linux

Commande Df sous Linux

Commande source sous Linux

Interface de commandes

Commande source sur Linux expliquée

Explication de la commande d'exportation sous Linux

Commande d'exportation sous Linux | Expliqué