Script Bash - Affecter le résultat d'une commande à une variable

Bash : comment stocker le résultat d’une commande dans une variable ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à stocker le résultat d’une commande Linux dans une variable. Cette manipulation simple est très utile lors d’écriture de scripts Bash (avec l’extension.sh) car il peut arriver que l’on ait besoin de manipuler le résultat d’une commande. Dans ce cas, on affecte le résultat de la commande à une variable, ce qui permet de l’exploiter par la suite.

Version initiale de l’article : 11 février 2012.

II. La syntaxe : affecter le résultat d’une commande à une variable

Pour stocker le résultat d’une commande dans une variable, on utilisera la syntaxe suivante :

variable=$(commande);

Ainsi, le résultat de n’importe quelle commande se retrouve dans une variable que l’on peut découper, modifier, afficher… Libre à vous de choisir le nom que vous souhaitez pour cette variable.

III. Exemple

Prenons un exemple concret. La première chose à faire, c’est déterminer la commande et vérifier sa syntaxe. Ensuite, quand la syntaxe de la commande est valide, nous pouvons faire en sorte de stocker son résultat dans une variable.

Imaginons que l’on souhaite récupérer la date d’hier sous la forme « .<année>« . On va pouvoir utiliser la commande date pour obtenir cette information :

date -d "1 day ago" +%d%b%Y

Ce qui retourne :

14sept.2022

C’est correct. Autre format possible : « <Année>« , ce qui donne :

date -d "1 day ago" +%Y%m%d

Comme résultat :

20220914

Gardons à l’esprit que c’est le résultat de la commande « date -d « 1 day ago » +%d%b%Y » que nous souhaitons stocker dans une variable. On commence par créer un fichier avec l’extension .sh et on ajoute le Shebang :

#/bin/bash

Ensuite, nous allons créer une variable nommée « Yesterday » qui contiendra le résultat de la commande évoquée précédemment.

#/bin/bash 
Yesterday=$(date -d "1 day ago" +%d%b%Y);

Il est important d’encadre la commande dans un bloc « $()« , comme dans l’exemple ci-dessus.

Ensuite, nous pouvons réutiliser cette variable comme bon nous semble… Par exemple, on peut créer un dossier qui prend comme nom le contenu de cette variable :

#/bin/bash 
Yesterday=$(date -d "1 day ago" +%d%b%Y);
mkdir /home/$Yesterday

Quand on appelle la variable, il est impératif de préfixer son nom par le symbole « $ » afin que le nom de la variable soit remplacé par sa valeur. Grâce à ce script, on crée un dossier dans « /home/ » qui sera nommé avec la date d’hier. Ceci n’est bien sûr qu’un exemple ! A vous de jouer !

Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

Script Bash - Générer des nombres aléatoires sous Linux

Script Bash – Comment générer des nombres aléatoires sous Linux ?

Table de Matieres1 I. Présentation2 II. Utiliser la variable $RANDOM pour les nombres aléatoires3 III. …

Linux : comment renommer son terminal ?

Linux : comment renommer son terminal ?

Table de Matieres1 I. Présentation2 II. Prérequis3 III. Utiliser le terminal Mate4 IV. Fonction custom …

Linux – Afficher la branche Git dans le prompt

Linux – Afficher la branche Git dans le prompt

Table de Matieres1 I. Présentation2 II. Prérequis3 4 IV. Tester le bon fonctionnement5 V. Conclusion …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.