Comment attribuer la sortie d’une commande Linux à une variable
Lorsque vous exécutez une commande, elle produit une sorte de sortie : soit le résultat d’un programme est censé produire, soit des messages d’état/d’erreur des détails d’exécution du programme. Parfois, vous pouvez souhaiter stocker la sortie d’une commande dans une variable à utiliser dans une opération ultérieure.
Dans cet article, nous allons passer en revue les différentes façons d’attribuer la sortie d’une commande shell à une variable, particulièrement utile à des fins de script shell.
Pour stocker la sortie d’une commande dans une variable, vous pouvez utiliser la fonction de substitution de commande shell dans les formulaires ci-dessous :
variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'
Vous trouverez ci-dessous quelques exemples d’utilisation de la substitution de commandes.
Dans ce premier exemple, nous allons stocker la valeur de la commande who (qui indique qui est connecté sur le système) dans la variable CURRENT_USERS user :
$ CURRENT_USERS=$(who)
Ensuite, nous pouvons utiliser la variable dans une phrase affichée à l’aide de la commande echo comme ceci :
$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"
Dans la commande ci-dessus : l’indicateur -e signifie interpréter toutes les séquences d’échappement (comme \n pour saut de ligne) utilisées. Pour éviter de perdre du temps et de la mémoire, il suffit d’effectuer la substitution de commande dans la commande echo comme suit :
$ echo -e "The following users are logged on the system:\n\n $(who)"
Ensuite, pour démontrer le concept à l’aide du deuxième formulaire ; nous pouvons stocker le nombre total de fichiers dans le répertoire de travail actuel dans une variable appelée FILES et le faire écho plus tard comme suit :
$ FILES=`sudo find . -type f -print | wc -l`
echo "There are $FILES in the current working directory."
Ça y est pour l’instant, dans cet article, nous avons expliqué les méthodes d’attribution de la sortie d’une commande shell à une variable. Vous pouvez ajouter vos réflexions à cet article via la section des commentaires ci-dessous.

