GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Commande source Linux avec exemples

Présentation

Dans les systèmes Linux, source est une commande shell intégrée qui lit et exécute le contenu du fichier dans le shell actuel. Ces fichiers contiennent généralement une liste de commandes livrées à l'interpréteur TCL pour être lues et exécutées.

Ce didacticiel explique comment fonctionne la commande source et quand l'utiliser.

Prérequis

  • Un système exécutant une distribution Linux (découvrez comment installer Ubuntu 20.04, comment installer CentOS 7 ou comment installer Arch Linux)
  • Un compte avec des privilèges sudo
  • Accès à la fenêtre du terminal/ligne de commande

Syntaxe de la commande source

La source commande utilise la syntaxe suivante :

source [filename] [arguments]

Où :

  • [filename]  :Le nom ou le chemin d'accès au fichier que vous souhaitez que la commande source exécute.
  • [arguments]  :Tous les arguments que vous fournissez deviennent des paramètres positionnels lorsque le fichier est exécuté.

Le caractère point (point) peut être utilisé à la place du source commande, résultant en la même sortie :

. [filename] [arguments]

Exemples de commandes source Linux

Voici quelques façons d'utiliser la source commande :

Passer les arguments

Créez un fichier texte appelé example.txt dans la Accueil répertoire avec le contenu suivant :

pwd
date
time

Utilisez la source commande pour passer le contenu de ce fichier en argument :

source example.txt

La sortie montre que la source la commande se déplace ligne par ligne, exécutant toutes les commandes répertoriées dans example.txt .

Pour un exemple plus complexe, modifiez le contenu de example.txt à :

echo "The current directory is:"
pwd
echo "Today's date is:"
date
echo "The time is:"
time

Déplacez le fichier vers Home/source_command/example . Avec le source commande, passez le contenu du fichier en argument en utilisant le chemin complet du fichier :

source source_command/example/example.txt

Lire le fichier de configuration

La source La commande vous permet également de lire des variables à partir d'un fichier. Commencez par créer un exemple de fichier de configuration example_config.sh dans la Accueil répertoire et en ajoutant le contenu suivant :

VAR1="a"
VAR2="b"
VAR3="c"

Créez un script bash appelé example_bash.sh et ajoutez ce qui suit :

#!/usr/bin/env bash

source example_config.sh

echo "VAR1 is $VAR1"
echo "VAR2 is $VAR2"
echo "VAR3 is $VAR3"

La source la commande autorise example_bash.sh pour lire les variables VAR1 , VAR2 , et VAR3 vous avez défini dans example_config.sh .

Exécutez example_bash.sh script utilisant le source commande :

source example_bash.sh

Fonctions sources

Si vous avez des fonctions que vous utilisez dans plusieurs scripts différents, vous pouvez les enregistrer dans des fichiers séparés et utiliser le source commande pour s'y référer lors de l'écriture de scripts.

Par exemple, commencez par créer une fonction check_root.sh qui vérifie si l'utilisateur exécutant le script est un utilisateur root :

check_root() {
  if [[ $EUID -ne 0 ]]; then
    echo "You must run this script as root" 
    exit 1
  fi
}

Créez un script appelé example_script.sh et utilisez le source commande pour insérer le check_root.sh fonction :

#!/usr/bin/env bash

source check_root.sh
check_root

echo "This is the root user"

L'exécution de ce script en tant qu'utilisateur non root produit "You must run this script as root" en sortie et quitte le script :

bash example_script.sh

L'exécution du script en tant qu'utilisateur root affiche "This is the root user" en sortie :

sudo bash example_script.sh

Actualiser l'environnement Shell actuel

Pour cet exemple, nous créons une commande d'alias ll :

alias ll = 'ls -l'

Cette commande répertorie les fichiers du répertoire courant en utilisant le format étendu :

Cependant, cette commande ne fonctionne que dans la session shell en cours. Pour le rendre permanent, ouvrez le bashrc fichier avec :

sudo nano ~/.bashrc

Sous #some more ls aliases section, ajoutez ce qui suit :

alias ll = 'ls -l'

Actualiser l'environnement shell actuel avec le source commande :

source ~/.bashrc

Ubuntu
  1. Commande Linux wc avec exemples

  2. Commande de tri Linux avec exemples

  3. Commande Linux Tee avec exemples

  4. Commande principale Linux avec exemples

  5. Commande JQ sous Linux avec exemples

Commande de CD Linux avec exemples

Commande Linux watch avec exemples

Commande murale sous Linux avec exemples

Commande de tri sous Linux avec des exemples

Commande IP Linux avec exemples

w Commande expliquée avec des exemples sous Linux