Bash Comment exécuter une commande dans une variable ?

Bash How Execute Command Variable



Les scripts Bash peuvent être créés de différentes manières et la plupart d'entre nous sont habitués à exécuter des commandes simples dans un script Bash. Cependant, ces commandes peuvent également être encapsulées dans les variables de Bash. Ce processus est connu sous le nom de substitution de commande et il est généralement utilisé pour stocker la sortie d'une commande dans une variable afin que vous n'ayez pas à exécuter cette commande explicitement encore et encore, vous pouvez simplement accéder à cette variable pour obtenir la sortie de cette commande quand tu veux. Dans cet article, nous allons vous montrer comment cela peut être fait.

Remarque : tous les scénarios illustrés ci-dessous ont été réalisés sur Ubuntu 20.04. Cependant, ils fonctionneront exactement de la même manière avec n'importe quelle autre version de Linux.







Méthode d'exécution d'une commande dans une variable dans Bash :

Pour démontrer la méthode d'exécution d'une commande dans une variable dans Bash, nous allons vous présenter trois scénarios différents qui sont les suivants :



Exécution de la commande echo stockée dans une variable :

C'est le scénario le plus simple dans lequel notre objectif est d'exécuter la commande echo qui est stockée dans une variable. Pour y arriver, vous devrez suivre la série d'étapes mentionnées ci-dessous :



Étape #1 : Création d'un script Bash :

Vous devez créer un script Bash dans votre dossier d'accueil pour lequel vous devez cliquer sur l'icône du gestionnaire de fichiers comme vous pouvez le voir sur l'image suivante :





Trouvez maintenant n'importe quel espace dans votre dossier d'accueil et faites un clic droit dessus pour lancer un menu. Sélectionnez l'option Nouveau document dans ce menu, puis choisissez l'option Document vide dans le menu en sous-cascade. Cela créera un nouveau document dans votre dossier Accueil. Renommez maintenant ce document nouvellement créé avec le nom de votre choix suivi de l'extension .sh. Dans notre cas, nous l'avons nommé CommandVar.sh.



Pour écrire un script Bash dans ce fichier, double-cliquez dessus pour l'ouvrir, puis tapez le script affiché dans l'image ci-dessous dans votre fichier Bash. Ici, la première ligne du script c'est-à-dire #!/bin/bash montre que ce fichier est en fait un fichier Bash. Ensuite, nous avons créé une variable nommée test et lui avons attribué la valeur $(echo Salut !). Chaque fois que vous souhaitez stocker la commande dans une variable, vous devez taper cette commande précédée d'un symbole $. Dans ce cas, nous voulions stocker la commande echo dans la variable de test, nous avons donc simplement tapé la commande echo suivie d'un message aléatoire et l'avons entourée de parenthèses, et placé un symbole $ avant. Alors maintenant, si nous voulons exécuter cette commande echo, nous devrons accéder à la variable de test. Par conséquent, pour vérifier si la commande echo stockée dans la variable de test peut être exécutée avec succès ou non, nous avons imprimé la sortie de la variable de test sur le terminal en utilisant une autre commande echo. Après avoir tapé ce script, vous devez enregistrer votre fichier et le fermer.

Étape n°2 : Exécuter le script Bash via le terminal :

Vous devez maintenant exécuter ce script via le terminal. Alors, ouvrez le terminal dans Ubuntu 20.04, puis tapez la commande suivante dedans :

frapperVarCommande.sh

Lorsque vous appuyez sur la touche Entrée pour exécuter cette commande, vous pourrez voir la sortie suivante sur votre terminal. Ici, la partie en surbrillance de la sortie est la sortie de la commande echo qui a été stockée dans la variable de test.

Exécution de la commande seq stockée dans une variable :

Dans ce scénario, nous imprimerons une séquence de nombres en utilisant la commande seq stockée dans une variable. Pour que cela se produise, nous allons modifier le script Bash créé ci-dessus en effectuant les étapes suivantes :

Étape #1 : Modification du script Bash créé ci-dessus :

Ouvrez le fichier Bash que vous avez créé dans la méthode ci-dessus et tapez le script suivant dedans. Ici, nous avons créé une variable nommée séquence. Notre objectif est d'imprimer les nombres de 1 à 10 en utilisant la commande seq. Pour ce faire, nous avons affecté la valeur $(seq 1 10) à la variable de séquence. Vous pouvez également spécifier toute autre plage de numéros de votre choix si vous le souhaitez. Le premier nombre après la commande seq indique la limite inférieure de la séquence tandis que le deuxième nombre fait référence à la limite supérieure. Après avoir tapé ce script, enregistrez votre fichier et fermez-le.

Étape n°2 : Exécuter le script Bash modifié via le terminal :

Exécutez maintenant votre script Bash de la même manière que celle expliquée ci-dessus et vous pourrez voir la séquence spécifiée sur votre terminal, comme indiqué dans l'image ci-dessous :

Exécution de la commande « pwd » stockée dans une variable :

Vous pouvez également imprimer votre répertoire de travail en utilisant la commande pwd stockée dans une variable. Pour le démontrer, nous modifierons à nouveau le script Bash créé ci-dessus en suivant les étapes mentionnées ci-dessous :

Étape #1 : Modification du script Bash créé ci-dessus :

Ouvrez le fichier Bash que vous venez de modifier, puis tapez le script affiché dans l'image suivante. Dans ce script, nous avons créé une variable nommée working_directory et lui avons attribué la valeur $(pwd). La commande pwd stockera simplement sa sortie, c'est-à-dire le répertoire de travail actuel dans la variable working_directory. Pour vérifier si la commande pwd a été correctement exécutée ou non, nous avons imprimé la valeur de la variable working_directory sur le terminal en utilisant la commande echo. Enregistrez maintenant ce fichier, puis fermez-le après avoir tapé le script Bash modifié dedans.

Étape n°2 : Exécuter le script Bash modifié via le terminal :

Exécutez maintenant ce script Bash de la même manière que celle expliquée ci-dessus. La sortie de ce script Bash vous montrera le répertoire de travail actuel. La partie en surbrillance de la sortie est en fait la sortie de la commande pwd.

Conclusion:

Cet article donne une très bonne idée de la façon dont vous pouvez exécuter une commande stockée dans une variable dans Bash et obtenir le même résultat que si vous aviez exécuté la commande indépendamment.