Comment attribuer la sortie d'une commande Linux à une variable - bash

Comment attribuer la sortie d'une commande Linux à une variable - bash
Dans Bash, il est courant d'exécuter les commandes Linux et de capturer leur sortie pour une utilisation ultérieure dans un script. Vous pouvez attribuer la sortie d'une commande à une variable en utilisant la substitution de commande, qui est une fonctionnalité de bash qui vous permet d'exécuter une commande et de la remplacer par sa sortie. Il existe deux façons d'attribuer la sortie à une variable et ce sont:
  • Grâce à la substitution de commandement
  • À travers des backticks

1: Comment utiliser la substitution de commande pour attribuer la sortie d'une commande Linux à une variable

Une façon d'attribuer la sortie d'une commande Linux à une variable dans Bash est d'utiliser la substitution de commande par la syntaxe $ () et voici la syntaxe complète pour elle:

= $ (commande)

Voici un exemple qui a été fait qui enregistre la sortie de commande de nom d'hôte dans une variable en utilisant la syntaxe donnée ci-dessus:

#!/ bac / bash
# Attribuez la sortie de la commande 'hostname' à la variable 'Find_hostname'
find_hostname = $ (nom d'hôte)
# Imprimez la valeur de la variable 'hostname'
Echo "Votre nom d'hôte est:" $ find_hostname

Dans cet exemple, nous avons utilisé la commande hostname pour obtenir le nom de l'hôte actuel, puis nous avons attribué la sortie à la variable find_hostname à l'aide de la substitution de commande. Enfin, nous avons imprimé la valeur de la variable find_hostname à l'aide de la commande echo:

2: Comment utiliser des backticks pour attribuer la sortie d'une commande Linux à une variable

Une autre façon d'attribuer la sortie d'une commande Linux à une variable consiste à utiliser des backticks (') au lieu de parenthèses et ci-dessous est la syntaxe pour elle:

=<'command'>

Pour expliquer davantage comment utiliser cette méthode, j'ai donné un exemple de code de bash qui ne vient que de lire le chemin d'accès ou le répertoire actuel.

#!/ bac / bash
# Attribuez la sortie de la commande 'hostname' à la variable 'Find_hostname'
find_hostname = 'hostname'
# Imprimez la valeur de la variable 'hostname'
Echo "Votre nom d'hôte est:" $ find_hostname

Dans cet exemple, nous avons utilisé la commande PWD pour obtenir le répertoire de travail actuel, puis nous avons attribué la sortie à la variable actuelle_dir à l'aide de backticks. Enfin, nous avons imprimé la valeur de la variable actuelle_dir à l'aide de la commande echo:

Conclusion

L'attribution de la sortie d'une commande Linux à une variable est une tâche courante dans les scripts bash et peut être accompli en utilisant la substitution de commande avec des parenthèses ou des backticks. En utilisant ces techniques, vous pouvez capturer la sortie d'une commande et l'utiliser dans vos scripts pour effectuer diverses tâches. Vous pouvez utiliser l'une de ces trois méthodes pour attribuer la sortie d'une commande Linux à une variable dans Bash, en fonction de vos besoins et préférences spécifiques.