Guide pratique des scripts Shell

Lors de la création de scripts Shell, des problèmes de formatage peuvent survenir si le fichier est transféré entre systèmes d'exploitation différents. Par exemple, un script créé sous Windows peut causer une erreur d'interpréteur sur Linux en raison de sauts de ligne incompatibles. L'utilisation de l'outil dos2unix permet de convertir le format du fichier et de résoudre cette difficulté.

Exemple de script basique

afficher_message() { echo "Bienvenue dans l'exemple de script" }

afficher_message

readonly nom_utilisateur="Alice" echo "Le nom de l'utilisateur est : ${nom_utilisateur}"

Tentative de suppression d'une variable en lecture seule

unset nom_utilisateur echo "La variable vaut maintenant : ${nom_utilisateur}"


</div>Manipluation des chaînes de caractères
--------------------------------------

### Utilisation des guillemets simples

Les chaînes entre guillemets simples préservent le texte brut sans interprétation des variablse ou des séquences d'échappement. Par exemple :

<div>```
texte_brut='Ceci est une chaîne avec $variable non interprétée'

Les guillemets doubles permettent l'expansion des variables et l'utilisation des caractères d'échappement. Voici une illustration :

Longueur et extraction de sous-chaînes

Pour déterminer la longueur d'une chaîne, on utilise l'opérateur ${#nom_variable}. L'extraction d'une sous-chaîne peut se faire avec la syntaxe ${nom_variable:position:longueur}. Par exemple, extraire 5 caractères à partir de li'ndice 3 :

Les tableaux en Shell sont unidimensionnels et indexés à partir de zéro. Voici comment les définir et les utiliser :

Définition et lecture d'éléments

On obtient la taille d'un tableau de la même manière qu'une chaîne :

Les commentaires mono-ligne commencent par le symbole #. Pour les commentaires multi-lignes, on utilise une syntaxe avec redirection :

Lors de l'exécution d'un script, des arguments peuvent être passés. Les variables spéciales incluent :

Paramètre Description
$n Le n-ième argument (n commençant à 1)
$0 Le nom du fichier du script
$# Le nombre total d'arguments
$* Tous les arguments concaténés en une seule chaîne
$@ Tous les arguments séparés, utile dans les guillemets doubles
$$ L'identifiant de processus du script
$? Le code de sortie de la dernière commande

Opérations arithmétiques

Le Shell n'effectue pas directement les calculs mathématiques ; on utilise souvent l'outil expr. Notez l'importance des espaces et des guillemets inversés :

produit=$(expr 4 * 2) echo "Résultat de la multiplication : $produit"


</div>Des opérations comme la soustraction et la division suivent la même logique.

Lecture d'entrées et affichage
------------------------------

La commande `read` capture la saisie utilisateur :

<div>```
echo -n "Entrez votre âge : "
read age_utilisateur
echo "Vous avez $age_utilisateur ans."

Condition if-elif-else

Les boucles for, while et until permettent de répéter des actions :

compteur=0 while (( compteur < 5 )); do echo "Compteur : $compteur" ((compteur++)) done


</div>

Étiquettes: bash Shell scripting Unix Linux scripts

Publié le 18 juillet à 23h03