logo

Les bases du BASH

Introduction aux scripts en BASH

Il y a deux environnements très différents disponibles sous Linux :

Le BASH est un langage programmation shell intégré à Linux. Ce n'est pas un langage aussi complet que peuvent l'être le C, le C++ ou le Java par exemple, mais cela permet d'automatiser la plupart de vos tâches : sauvegarde des données, surveillance de la charge de votre machine, etc.

Pour écrire un script en BASH nous allons utiliser l'éditeur nano.

Ouvrez la console des lignes de commandes en cliquant sur .
Ou allez dans , puis Accessoires, et choisissez LXTerminal.

Puis saisissez la ligne de commande :

pi@raspberry:~ $ sudo nano premier.sh

L'éditeur nano va ouvrir avec le fichier premier.sh :


Un script BASH commence toujours par #!/bin/bash.

Taper le script suivant :

#!/bin/bash
	
echo 'hello NSI'

On enregistre le fichier. Puis on va tester le script. Mais avant on doit changer les droits du fichier pour le rendre éxécutable.

pi@raspberry:~ $ ls -l
-rw-r--r-- 1 root root     32 mai   3 10:07 premier.sh
pi@raspberry:~ $ sudo chmod a+x premier.sh
pi@raspberry:~ $ ls -l
-rwxr-xr-x 1 root root     32 mai   3 10:07 premier.sh

Voilà maintenant on peut lancer notre premier programme avec la ligne de commande suivante :

pi@raspberry:~ $ ./premier.sh

Les variables

Ecris le script suivant dans le fichier variable.sh.

#!/bin/bash
read -p 'Entrez votre nom : ' nom
echo "Bonjour $nom !"

Teste ce script.

Pour plus d'info sur les variables en BASH
Déclarer une variable

Les conditions

Ecris le script suivant dans le fichier condition.sh.

#!/bin/bash
read -p 'Entrez votre nom : ' nom
if [ $nom = "Bruno" ]
then
        echo "Salut $nom !"
elif [ $nom = "Gino" ]
then
        echo "Ciao $nom !"
elif [ $nom = "John" ]
then
        echo "Hello $nom !"
else
        echo "Je ne te connais pas !"
fi

Teste ce script.

Pour plus d'info sur les conditions
Les conditions

Les boucles

  1. Ecris le script suivant dans le fichier boucle1.sh.

    #!/bin/bash
    let "a = 1"
    while [ $a != 5 ]
    do
    	echo "$a"
    	let "a=a+1"
    done
    

    Teste ce script.

  2. Ecris le script suivant dans le fichier boucle2.sh.

    #!/bin/bash
    for a in `seq 1 4`;
    do
            echo $a
    done
    
    Pour obtenir ` utilise alt gr + 7 deux fois.

    Teste ce script.

Pour plus d'info sur les boucles
Les boucles

Conclusion

Si vous voulez approfondir le langage BASH, vous pouvez suivre le cours de OpenClassroom.