Comment afficher le nom du script et les arguments dans un script Shell

ShellShellBeginner
Pratiquer maintenant

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

Introduction

Les scripts Shell sont des outils puissants pour automatiser des tâches et rationaliser les flux de travail. Dans ce tutoriel, nous allons explorer comment afficher le nom du script et gérer les arguments dans un script Shell, vous permettant ainsi de créer des solutions basées sur le Shell plus robustes et polyvalentes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/BasicSyntaxandStructureGroup(["Basic Syntax and Structure"]) shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) shell(("Shell")) -.-> shell/AdvancedScriptingConceptsGroup(["Advanced Scripting Concepts"]) shell/BasicSyntaxandStructureGroup -.-> shell/shebang("Shebang") shell/BasicSyntaxandStructureGroup -.-> shell/comments("Comments") shell/VariableHandlingGroup -.-> shell/variables_usage("Variable Usage") shell/AdvancedScriptingConceptsGroup -.-> shell/read_input("Reading Input") shell/AdvancedScriptingConceptsGroup -.-> shell/cmd_substitution("Command Substitution") subgraph Lab Skills shell/shebang -.-> lab-415088{{"Comment afficher le nom du script et les arguments dans un script Shell"}} shell/comments -.-> lab-415088{{"Comment afficher le nom du script et les arguments dans un script Shell"}} shell/variables_usage -.-> lab-415088{{"Comment afficher le nom du script et les arguments dans un script Shell"}} shell/read_input -.-> lab-415088{{"Comment afficher le nom du script et les arguments dans un script Shell"}} shell/cmd_substitution -.-> lab-415088{{"Comment afficher le nom du script et les arguments dans un script Shell"}} end

Introduction aux scripts Shell

Les scripts Shell sont un outil puissant pour automatiser les tâches répétitives et rationaliser les processus d'administration système dans Linux et autres systèmes d'exploitation de type Unix. Un script Shell est un fichier texte qui contient une série de commandes que le shell (l'interpréteur de ligne de commande) peut exécuter.

Les scripts Shell peuvent être utilisés pour une grande variété de tâches, telles que :

  • Automatiser l'entretien et les sauvegardes du système
  • Effectuer des opérations de gestion de fichiers et de répertoires
  • Interagir avec les services et les processus du système
  • Générer des rapports et des journaux
  • Mettre en œuvre des flux de travail et des scripts personnalisés

Le shell le plus couramment utilisé dans les systèmes Linux et de type Unix est le Bash (Bourne-Again SHell), qui est le shell par défaut dans de nombreuses distributions Linux.

Pour créer un script Shell, vous pouvez utiliser un éditeur de texte pour écrire une série de commandes, enregistrer le fichier avec une extension .sh et rendre le script exécutable à l'aide de la commande chmod. Par exemple :

#!/bin/bash
echo "Hello, LabEx!"

Dans cet exemple simple, la première ligne #!/bin/bash est appelée le "shebang" et indique au système quel interpréteur de shell utiliser pour exécuter le script. La deuxième ligne echo "Hello, LabEx!" est une commande Bash qui affiche le message "Hello, LabEx!" dans la console.

En comprenant les bases de la programmation Shell, vous pouvez automatiser de nombreuses tâches répétitives, rationaliser votre flux de travail et être plus efficace dans votre environnement Linux ou basé sur Unix.

Affichage du nom du script

Dans un script shell, vous pouvez avoir besoin d'afficher le nom du script lui-même. Cela peut être utile à diverses fins, telles que la journalisation, le débogage ou la fourniture d'informations à l'utilisateur.

Pour afficher le nom du script dans un script shell, vous pouvez utiliser la variable intégrée $0. Cette variable contient le nom du script ou la commande utilisée pour lancer le script.

Voici un exemple :

#!/bin/bash

echo "The script name is: $0"

Si vous enregistrez ce script sous le nom my_script.sh et que vous l'exécutez, la sortie sera :

The script name is:./my_script.sh

Notez que la variable $0 peut inclure le chemin complet du script s'il est exécuté depuis un autre répertoire. Si vous souhaitez obtenir le nom du script sans le chemin, vous pouvez utiliser la commande basename :

#!/bin/bash

script_name=$(basename "$0")
echo "The script name is: $script_name"

Cela affichera :

The script name is: my_script.sh

En comprenant comment afficher le nom du script, vous pouvez rendre vos scripts shell plus informatifs et plus faciles à déboguer, notamment lorsque vous travaillez avec plusieurs scripts ou lorsque vos scripts font partie d'un système plus large.

Gestion des arguments du script

En plus d'afficher le nom du script, les scripts shell peuvent également accepter et traiter des arguments passés en ligne de commande. Ces arguments peuvent être utilisés pour personnaliser le comportement du script, transmettre des données au script ou contrôler son exécution.

Pour accéder aux arguments du script dans un script shell, vous pouvez utiliser les variables spéciales suivantes :

  • $1, $2, $3, etc. : Ces variables représentent le premier, le deuxième, le troisième et les arguments suivants passés au script.
  • $@ : Cette variable représente tous les arguments passés au script sous forme d'une seule chaîne de caractères.
  • $# : Cette variable contient le nombre d'arguments passés au script.

Voici un exemple de script qui montre comment gérer les arguments du script :

#!/bin/bash

echo "Script name: $0"
echo "Number of arguments: $#"
echo "All arguments: $@"

echo "First argument: $1"
echo "Second argument: $2"

Si vous enregistrez ce script sous le nom args_demo.sh et que vous l'exécutez avec la commande suivante :

./args_demo.sh LabEx 123 "Hello, world!"

La sortie sera :

Script name:./args_demo.sh
Number of arguments: 3
All arguments: LabEx 123 "Hello, world!"
First argument: LabEx
Second argument: 123

En comprenant comment gérer les arguments du script, vous pouvez créer des scripts shell plus flexibles et puissants qui peuvent s'adapter à différents cas d'utilisation et aux exigences des utilisateurs.

Résumé

À la fin de ce tutoriel, vous aurez une bonne compréhension de la manière d'afficher le nom du script et de gérer efficacement les arguments dans vos scripts Shell. Cette connaissance vous aidera à écrire des programmes Shell plus informatifs et flexibles, vous permettant d'automatiser les tâches plus efficacement et d'améliorer vos compétences globales en programmation Shell.