La lecture des entrées de l'utilisateur est une partie de l'équation. Dans l'article d'aujourd'hui, nous allons apprendre à lire les arguments de ligne de commande dans les scripts shell. Les scripts shell sont un outil essentiel pour tout utilisateur Linux. Ils jouent un rôle majeur dans l'automatisation des tâches quotidiennes et la création de vos propres commandes ou macros.
Ces scripts shell peuvent recevoir des entrées de l'utilisateur sous la forme d'arguments.
Lorsque nous passons des arguments à un script shell, nous pouvons les utiliser pour le séquencement local du script. Nous pouvons utiliser ces arguments pour obtenir des sorties et même modifier des sorties comme des variables dans des scripts shell.
Que sont les arguments de ligne de commande ?
Les arguments de ligne de commande sont des paramètres qui sont passés à un script lors de leur exécution dans le shell bash.
Ils sont également appelés paramètres de position sous Linux.
Nous utilisons des arguments de ligne de commande pour indiquer la position en mémoire où la commande et ses paramètres associés sont stockés. Comprendre les arguments de la ligne de commande est essentiel pour les personnes qui apprennent les scripts shell.
Dans cet article, nous allons passer en revue le concept des arguments de ligne de commande ainsi que leur utilisation dans un script shell.
Comment les scripts Shell comprennent les arguments de la ligne de commande
Les arguments de ligne de commande permettent de rendre les scripts shell interactifs pour les utilisateurs. Ils aident un script à identifier les données sur lesquelles il doit fonctionner. Par conséquent, les arguments de ligne de commande sont une partie essentielle de toute utilisation pratique des scripts shell.
Le shell bash a des variables spéciales réservées pour pointer vers les arguments que nous passons à travers un script shell. Bash enregistre ces variables numériquement ($1, $2, $3, … $n)
Ici, le premier argument de ligne de commande dans notre script shell est $1, le deuxième $2 et le troisième est $3. Cela continue jusqu'au 9ème argument. La variable $0 stocke le nom du script ou de la commande elle-même.
Nous avons également des caractères spéciaux qui sont des paramètres positionnels, mais leur fonction est étroitement liée à nos arguments de ligne de commande.
Le caractère spécial $# stocke le nombre total d'arguments. Nous avons également $@ et $* comme caractères génériques qui sont utilisés pour désigner tous les arguments. Nous utilisons $$ pour trouver l'ID de processus du script shell actuel, tandis que $? peut être utilisé pour imprimer le code de sortie de notre script.
Lire les arguments de ligne de commande dans les scripts shell
Nous avons maintenant développé une compréhension des arguments de ligne de commande sous Linux. Il est maintenant temps d'utiliser ces connaissances pour une application pratique de la commande netstat.
Pour ce didacticiel, nous allons passer en revue un exemple pour apprendre à utiliser les arguments de ligne de commande dans votre script shell.
Tout d'abord, nous allons créer un script shell pour démontrer le fonctionnement de toutes les variables réservées dont nous avons parlé dans la section précédente. Utiliser nano ou tout éditeur préféré de votre choix et copiez ce qui suit.
C'est le script shell que nous prévoyons d'utiliser à cette fin.
#!/bin/sh echo "Script Name: $0" echo "First Parameter of the script is $1" echo "The second Parameter is $2" echo "The complete list of arguments is $@" echo "Total Number of Parameters: $#" echo "The process ID is $$" echo "Exit code for the script: $?"
Une fois que nous aurons terminé, nous enregistrerons le script sous PositionalParameters.sh et quitterons notre éditeur de texte.
Maintenant, nous allons ouvrir la ligne de commande sur notre système et exécuter le script shell avec les arguments suivants.
./PositionalParameters.sh learning command line arguments
Le script s'exécutera avec nos arguments spécifiés et utilisera des paramètres positionnels pour générer une sortie. Si vous avez suivi l'étape correctement, vous devriez voir l'écran suivant.
Notre sortie affiche la sortie correcte en remplaçant les variables réservées par l'argument approprié lorsque nous l'avons appelée.
Le processus a été exécuté sous l'ID de processus 14974 et s'est terminé avec le code de sortie 0.
Conclusion
Être capable de lire des arguments de ligne de commande dans des scripts shell est une compétence essentielle car cela vous permet de créer des scripts qui peuvent prendre des entrées de l'utilisateur et générer une sortie basée sur un chemin logique.
À l'aide d'arguments de ligne de commande, vos scripts peuvent grandement simplifier la tâche répétitive que vous devrez peut-être gérer au quotidien, créez vos propres commandes tout en vous faisant gagner du temps et des efforts.
Nous espérons que cet article a pu vous aider à comprendre comment lire les arguments de ligne de commande dans un script shell. Si vous avez des commentaires, des questions ou des suggestions, n'hésitez pas à nous contacter dans les commentaires ci-dessous.