GNU/Linux >> Tutoriels Linux >  >> Linux

Comment stocker une commande Linux en tant que variable dans un script shell

Les scripts shell sont assez couramment utilisés pour automatiser des choses sous Linux. Il est utilisé non seulement à des fins d'administration du système et du serveur, mais également par les utilisateurs réguliers de Linux pour automatiser les tâches quotidiennes sur leurs systèmes.

Un script shell n'est rien d'autre qu'une séquence de commandes; lequel un interpréteur de ligne de commande (par exemple Bash , Zsh ) fonctionnera. Outre la séquence de commandes, il existe des fonctionnalités telles que les boucles , instructions conditionnelles , variables qui peut être utilisé dans un script shell.

L'une de ces fonctionnalités consiste à stocker une commande entière dans une variable. Voyons ce que nous entendons par là et comment cela peut être fait.

Fondamentalement, les shells Linux vous permettent de stocker n'importe quelle commande dans une variable, sous forme de chaîne. Ceci est utile pour les instructions complexes en ligne impliquant plusieurs commandes, redirections, etc. Cette variable peut ensuite être transmise au programme 'eval ‘ pour que le contenu de la variable soit exécuté comme une commande.

Par exemple, pour stocker la sortie de la commande ‘cat test.txt | wc -l ' dans une variable appelée 'cnt ', nous pouvons avoir l'instruction suivante dans le test.sh fichier de script :

#!/bin/bash

cnt="cat test.txt | wc -l"

Maintenant, pour exécuter cette commande à tout moment, nous passons la variable comme argument à 'eval ', comme indiqué ci-dessous :

#!/bin/bash

cnt="cat test.txt | wc -l"

eval $cnt

Enregistrez et quittez le script.

Exécutons maintenant la commande et le script lui-même pour vérifier cela.

$ cat test.txt | wc -l
$ chmod + test.sh
$ ./test.sh

Remarque :Remplacez test.sh avec votre nom de script. Assurez-vous que votre fichier de script dispose des privilèges d'exécution.

Comme le montre la capture d'écran ci-dessus, les deux résultats sont identiques.

Conclusion

Dans cet article, nous avons vu comment stocker une commande Linux en tant que variable dans le script shell. Bien que cela ait été montré dans le script shell, vous pouvez également faire la même chose sur la ligne de commande, puis passer la variable à 'eval ‘.

Si vous avez des questions ou des commentaires, faites-le nous savoir dans les commentaires ci-dessous !


Linux
  1. Comment définir votre variable $PATH sous Linux

  2. Comment comparer des nombres et des chaînes dans le script shell Linux

  3. Comment créer un script d'une commande Linux

  4. Comment affecter la sortie d'une commande à une variable Shell ?

  5. Comment changer de shell sous Linux

Comment exécuter une commande / un script Linux Shell en arrière-plan

Commande source sous Linux

Comment utiliser la commande Declare dans Linux Bash Shell

Comment exécuter un script Shell en tant que service SystemD sous Linux

Explication de la commande d'exportation sous Linux

Comment exécuter une commande dans un script shell ?