Programmation bas niveau (BNV) Help

Cours : Les scripts shell

Lors des premiers jours de cours, vous avez appris à utiliser différentes commandes du terminal.

Nous allons maintenant apprendre à créer de petits programmes qui permettent d'automatiser les tâches du terminal : les scripts shell.

Le fichier de base du script

Pour créer un script shell, vous allez devoir créer un fichier .sh.

Voici un exemple de script basique :

#!/bin/bash echo 'Hello World!'

Vous devrez ensuite préciser à votre ordinateur que le script peut être executé en faisant la commande suivante :

chmod +x fichier.sh

Et vous pouvez ensuite l'utiliser comme un exécutable normal :

./fichier.sh
hello_world

Les possibilités des scripts shell

Variables

Vous pouvez déclarer des variables puis les utiliser.

#!/bin/bash firstName="Hugues" lastName="Froger" echo "$firstName $lastName"
variables

Opérations sur des variables

Vous pouvez également faire des opérations sur vos variables :

#!/bin/bash nb1=24 nb2=5 sum=$(($nb1+$nb2)) echo "$nb1 + $nb2 = $sum"
operations

Arguments

Un script shell peut recevoir des arguments et les réutiliser à l'intérieur du script.

Par exemple si au lieu d'un "Hello World" je veux un "Hello Prénom":

#!/bin/bash echo "Hello $1"
./hello_prenom.sh Mari
hello_prenom

Je passe la valeur que je veux que le script utilise juste après la commande d'exécution et le script y a accès dans ses variables $1, $2, $3, ...

Fonctions

Dans un script shell vous pouvez également créer des fonctions que vous pouvez ensuite réutiliser :

#!/bin/bash function helloWorld { echo "Hello" echo "World" } helloWorld
hello_world_function

Les fonctions peuvent également avoir des arguments :

#!/bin/bash function helloTeachers { echo "Les professeurs sont $1 et $2" } helloTeachers Hugues Mari
function_arguments

Boucles

Vous pouvez utiliser deux sortes de boucles :

Boucles for

La boucle while est délimitée par 3 mots clés : for, do et done:

#!/bin/bash for (( count=5; count>0; count-- )) do echo "$count " done
for

Boucles while

La boucle while est délimitée par 3 mots clés : while, do et done:

#!/bin/bash count=0 while [ $count -le 5 ] do echo $count ((count++)) done
while

Conditions

Dans un script shell, vous allez utiliser les mots-clés if, then, elif, else, fi.

#!/bin/bash if [ $1 -ge 65 ]; then echo "Vous êtes sénior" elif [ $1 -ge 18 ]; then echo "Vous êtes adulte" else echo "Vous êtes un enfant" fi
if

read

En script shell pour demander une information à l'utilisateur (et donc faire l'équivalent d'un scanf en C, on utilise la fonction read).

#!/bin/bash echo "Comment vous appelez-vous ?" read name echo "Bonjour $name!"
read
Liste des primitives de comparaison numérique
  • -eq est égal à

  • -ne n'est pas égal à

  • -gt est plus grand que

  • -ge est plus grand ou égal à

  • -lt est plus petit que

  • -le est plus petit ou égal à

16 October 2025