Traiter les arguments dans les scripts Bash

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce défi, vous allez créer un script bash qui traite les arguments de la ligne de commande. Ce script illustrera des concepts clés de la programmation bash, notamment la gestion des arguments de la ligne de commande, l'utilisation de variables spéciales et l'affichage d'informations sur les processus. Cette tâche est essentielle pour les administrateurs de systèmes et les développeurs qui doivent créer des outils en ligne de commande flexibles et informatifs.

Environnement

LabEx utilise l'image de base universelle Red Hat 9 (UBI9) pour simuler l'environnement d'examen. Il peut ne pas être identique à l'environnement réel de l'examen RHCSA, mais il offre une bonne représentation des tâches auxquelles vous serez confronté.

Il y a deux utilisateurs dans l'environnement :

  • labex : Un utilisateur standard avec des privilèges sudo, mot de passe : labex.
  • root : L'administrateur système, mot de passe : redhat.

Le défi propose des questions réelles d'examen, accompagnées d'explications, de spécifications et de scripts de vérification automatisée pour vous aider à confirmer la réalisation des tâches. Il simule efficacement les domaines de connaissances couverts par l'examen RHCSA.

Ceci est un Challenge, qui diffère d'un Guided Lab en ce sens que vous devez essayer de réaliser la tâche du challenge de manière indépendante, plutôt que de suivre les étapes d'un laboratoire pour apprendre. Les challenges sont généralement un peu difficiles. Si vous trouvez cela difficile, vous pouvez discuter avec Labby ou consulter la solution. Les données historiques montrent que c'est un défi de niveau débutant avec un taux de réussite de 97.89%. Il a reçu un taux d'avis positifs de 96% de la part des apprenants.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) shell(("Shell")) -.-> shell/FunctionsandScopeGroup(["Functions and Scope"]) rhel(("Red Hat Enterprise Linux")) -.-> rhel/RHELGroup(["RHEL"]) shell/VariableHandlingGroup -.-> shell/variables_usage("Variable Usage") shell/VariableHandlingGroup -.-> shell/param_expansion("Parameter Expansion") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") shell/FunctionsandScopeGroup -.-> shell/func_def("Function Definition") rhel/RHELGroup -.-> rhel/file_move("Move File") rhel/RHELGroup -.-> rhel/file_create("Create File") subgraph Lab Skills shell/variables_usage -.-> lab-588272{{"Traiter les arguments dans les scripts Bash"}} shell/param_expansion -.-> lab-588272{{"Traiter les arguments dans les scripts Bash"}} linux/chmod -.-> lab-588272{{"Traiter les arguments dans les scripts Bash"}} shell/func_def -.-> lab-588272{{"Traiter les arguments dans les scripts Bash"}} rhel/file_move -.-> lab-588272{{"Traiter les arguments dans les scripts Bash"}} rhel/file_create -.-> lab-588272{{"Traiter les arguments dans les scripts Bash"}} end

Créer et configurer le script Bash

Créons un script Bash qui traite et affiche des informations sur les arguments qui lui sont passés.

Tâches

  • Créer un script Bash nommé argts.sh dans le répertoire /home/labex/
  • Rendre le script exécutable
  • Implémenter le script pour afficher les informations suivantes :
    • Nombre total d'arguments fournis
    • Valeur du premier argument
    • PID (identifiant de processus) du script
    • Tous les arguments fournis

Exigences

  • Le script doit être créé à l'emplacement /home/labex/argts.sh
  • Le script doit avoir la bonne ligne shebang : #!/bin/bash
  • Le script doit être exécutable
  • Le script doit utiliser les variables spéciales Bash appropriées pour afficher les informations requises
  • La sortie doit être formatée clairement avec une ligne d'en-tête composée de signes égal

Exemple

Lorsque le script est exécuté avec des arguments, il doit produire une sortie similaire à ceci :

$ /home/labex/argts.sh one two three
===========================
The total count of the supp argts: 3
The value of the first arg is: one
The PID of the script is : 12345
All the argts: one two three
✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez créé un script bash qui traite et affiche des informations sur les arguments de la ligne de commande. Cet exercice illustre des concepts essentiels de la programmation bash tels que l'accès aux variables spéciales ($#, $1, $$, $*), la création de scripts exécutables et la mise en forme de la sortie. Ces compétences sont cruciales pour les administrateurs de systèmes et les développeurs qui doivent créer des outils en ligne de commande flexibles et traiter efficacement les entrées utilisateur.

OSZAR »