connectiva penguin bsd logo

Les scripts bash

1_Notre premier script

2_Les variables

3_Les commandes composées    (; | & || && $() {} ``)

4_Ecriture à l'écran / lecture au clavier    (echo read)

5_Le passage de paramètres

6_Les structures conditionnelles    (if then else while until)

7_Les autres structures    (for in do case select)

8_Les fonctions

9_Pour aller plus loin


1_Notre premier script

Bash n'est pas qu'un simple interpréteur de commandes. Il permet d'effectuer une suite de commandes rassemblées dans un fichier exécutable, appelé "script". A ce titre, bash est un véritable langage de programmation.

Comme tout bon programmeur, nous allons commencer par un "helloworld". Il s'agira simplement d'afficher le texte "hello world !" à l'écran.

Pour préciser à linux que l'interpréteur de commandes utilisé est bash (utile si ce n'est pas le shell par défaut), tout script va commencer par la ligne #!/bin/bash.

Pour insérer un commentaire, mettez un # au début de la ligne. Chaque instruction se trouvera sur un ligne.

Et voilà, c'est tout ce que nous avons besoin de connaitre pour écrire un simple script. Maintenant, ouvrer votre éditeur de texte préféré et tapez les lignes ci-dessous. Puis sauvegardez le tout sous le nom helloworld.sh.

#!/bin/bash
# premier script bash
echo "hello world !"

Comme notre script vient d'être créé, il faut préciser au système que c'est un fichier exécutable en tapant chmod +x helloworld.sh. C'est fait une fois pour toutes, et il n'est heureusement pas nécessaire de recommencer à chaque modification du script.

Maintenant exécutons notre script en faisant précéder le nom de "./". Le "./" sert à indiquer que le script se trouve dans le répertoire courant. C'est indispensable si le répertoire courant n'est pas inclu dans la variable PATH (plus dinfos sur PATH ici).

chmod +x helloworld.sh
$ ./helloworld.sh
hello world !
$

Et voilà, c'est pas plus compliqué que ça ! Bien sûr, ce premier script n'est pas d'une utilité foudroyante. Mais si vous devez taper régulièrement une même suite d'instructions, alors il peut être pratique de les rassembler dans un script. Par exemple, pour configurer votre firewall, plutôt que de taper toutes les commandes iptables bien complexes à chaque connexion, vous n'avez qu'à faire un script que vous lancez automatiquement à chaque démarrage.

page suivante >>
2_Les variables

Valid XHTML 1.1

logo firefox logo ubuntu logo debian logo mandriva logo gimp