next up previous contents index
suivant: 4. Utilitaires UNIX monter: 3. Commandes de base précédent: 3.5 Contrôle de tâches   Table des matières   Index

Sous-sections

3.6 Commandes et scripts

3.6.1 Comment le système exécute une commande ?

Lorsque l'on entre une ligne de commande sous un shell, ce dernier demande au système d'exécuter la commande, après avoir éventuellement substitué les méta-caractères (*,? etc.) et remplacés les alias.

A chaque commande doit alors correspondre un fichier exécutable (avec le droit x). Ce fichier exécutable porte le nom de la commande et est recherché par le système dans une liste de répertoires (spécifiée par la variable d'environnement PATH).

La commande which permet de savoir quel est le fichier correspondant à une commande. which commande

Le fichier exécutable est soit un fichier binaire (du code en langage machine), qui est alors exécuté directement par le processeur, soit un fichier texte contenant un script.

3.6.2 Scripts

Les scripts sont des programmes écrits dans un langage interprété, par exemple le langage du shell. Un script peut être une simple liste de commandes.

La première ligne du script doit préciser l'interpréteur utilisé, elle commence par les deux caractères #!, suivis du chemin de l'interpréteur.

Voici un exemple simple :

#!/bin/csh

echo Contenu du repertoire courant
ls -l
echo ----------------------------
Ce script affiche la liste détaillée des fichiers du répertoire courant. Il doit être entré à l'aide d'un éditeur de texte, enregistré dans un fichier (nommé par exemple ``liste''), puis rendu exécutable grâce à la commande chmod (voir page [*]) :
$ chmod a+x liste

Exemple d'utilisation du script :

$ liste
Contenu du repertoire courant
-rw-r--r--   1 em  users      1466 Mar 19  1996 arbounix.fig
-rw-r--r--   1 em  users      4066 Feb 17 12:28 filesystem.fig
-rw-r--r--   1 em  users       659 Feb 17 13:16 pointpoint.fig
-rw-r--r--   1 em  users       583 Mar 19  1996 tabdesc.fig
-rw-r--r--   1 em  users      1062 Mar 19  1996 tube.fig
----------------------------

On peut écrire des scripts sophistiqués (avec arguments, tests, boucles etc.), mais nous n'étudierons pas ces techniques dans ce cours.


next up previous contents index
suivant: 4. Utilitaires UNIX monter: 3. Commandes de base précédent: 3.5 Contrôle de tâches   Table des matières   Index
Emmanuel Viennet
1999-01-05