next up previous contents Next: Boucles: instructions while et Up: Les scripts du shell. Previous: Les scripts du shell.   Table des matières  


8.1 Introduction.

Pour exécuter plusieurs commandes séquentiellement, créez d'abord un fichier avec une extension .sh, ce fichier contiendra vos commandes. L'extension .sh n'est pas absolument nécessaire mais elle sert de rappel indiquant que le fichier contient un texte spécial nommé script de shell (ou shell script). Désormais, le mot script sera employé pour décrire toute séquence de commandes dans un fichier texte. A présent, faites:

chmod 0755 monficher.sh 


ce qui permet au fichier d'être exécuté (les droits sur les fichiers sont décrits au chapitre 12).

Modifiez le fichier en utilisant votre éditeur de texte préféré. La première ligne devrait se présenter comme ceci (sans qu'il n'y ait d'espace blanc [Les espaces blancs sont des tabulations, des espaces à proprement parler ou de nouvelles lignes]):

#!/bin/sh 


Cette ligne impose au programme qui la suit d'être un script de shell. Ce qui veut dire que sont acceptées des commandes du même type que celles entrées en ligne de commandes derrière votre invite (ou prompt). A présent, entrez les commandes suivantes pour vous faire la main:

echo "Bonjour tout le monde"

echo "Quel est votre nom? (saisissez votre nom ici et puis pressez la touche enter)"

read NM

echo "Bonjour $NM" 



Maintenant, vous pouvez sortir de votre éditeur et taper ./monfichier.sh. Ceci exécutera votre script [ce qui provoque la lecture puis l'action des lignes de commandes en séquence. C'est ce qu'on appelle exécuter un programme]. Notez que taper ./monfichier.sh n'est pas différent que de saisir une commande à l'invite du shell. Votre fichier monfichier.sh est en fait devenu une nouvelle commande LINUX.

Observez bien ce que fait la commande read. Elle crée une ``boîte'' nommée NM et y place le texte saisi au clavier. Ensuite, chaque fois que le shell rencontre NM, son contenu est écrit à la place de NM, pour autant que cette variable soit précédé du signe $. Nous disons que NM est une variable parce que son contenu peut être modifié.

Vous pouvez utiliser les scripts de shell pour faire du calcul. Essayez ceci:

echo "Je vais calculer le produit de X par Y"

echo "Entrez X"

read X

echo "Entrez Y"

read Y

echo "X*Y = $X*$Y = $[X*Y]" 




Les crochets [ et ] signifient que ce qu'ils renferment doit être évalué [substitué, modifié, réduit à une forme plus simple] comme une expression numérique [une séquence de nombres avec les signes +, *, -, / entre ces nombres]. D'ailleurs, vous pouvez à tout moment faire un calcul dans le shell en saisissant derrière l'invite:

echo $[3*6+2*8+9] 


Vérifiez que votre shell permet l'usage de cette notation [ ]. Certains UNIX utilisent la commande expr pour réaliser ces opérations.


next up previous contents Next: Boucles: instructions while et Up: Les scripts du shell. Previous: Les scripts du shell.   Table des matières  
1-01-2006