Introduction aux scripts de l'interpréteur BASH

De POLR
Révision datée du 11 juin 2013 à 13:55 par Caveenj (discussion | contributions) (Page créée avec « == Un petit script simple == Voici un petit script exemple_1.sh qui sera exécuté par l’interpréteur de commande bash. Le script a été créé à l’aide d’un é... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

Un petit script simple

Voici un petit script exemple_1.sh qui sera exécuté par l’interpréteur de commande bash. Le script a été créé à l’aide d’un éditeur de texte tel gedit.

#!/bin/bash
#fichier exemple_1.sh
# ceci est un commentaire
echo "Le nombre de parametres est: "  $#
echo "Les parametres sont :" $*
echo ' Les paramtetres sont aussi disponible comme ceci : ' $@ 
echo "Le parametre numero 1 est : " $1
echo "Le parametre numero 12 est : " ${12}
echo "Mon numero de processus (PID) est: " $$
echo "Entrez un nombre au clavier: "
read nombre
echo "Votre nombre est : " ${nombre:-nul}

Le script débute avec la ligne #!/bin/bash. Normalement, ‘ # ’ indique le début d’un commentaire. Cependant, la séquence ‘#!’ au début d’un script indique à Linux d’utiliser l’interpréteur de commandes /bin/bash pour interpréter et exécuter les commandes qui suivent. Les paramètres passés au script sont disponibles via les variables $1, $2, ... $9. $* représente la liste de tous les paramètres passés au script alors que $# contient le nombre de paramètres. La variable $$ contient le numéro du processus qui exécute le script (résultat d’un fork et exec).

L’énoncé read nombre attend une entrée de l’entrée standard (habituellement le clavier) et attribue la valeur fournie à la variable nombre. Pour utiliser le contenu de la variable nombre, on peut utiliser la syntaxe $nombre ou bien ${nombre}. On peut aussi attribuer une valeur par défaut à la variable nombre si aucune valeur n’a été fournie au clavier: dans cet exemple, si aucune valeur n’est fournie, la variable nombre prend pour valeur nul.

Pour exécuter ce script, il faut tout d’abord le rendre exécutable: