Si l'on satisfait les conditions suivantes :
# » se trouve en première ligne du fichier shell script et
sur la première colonne,
! »,
#! » est suivie du nom de l'exécutable d'un shell (chemin absolu),
alors, cette ligne permettra d'avoir la description du shell à lancer au moment de l'exécution.
Le processus mis en place est le suivant lorsqu'une telle ligne est trouvée :
Cette démarche est obligatoire pour tout shell script (cf. règle 10 de la section
).
Cette technique est donc utilisé pour l'ensemble des langages interprétés sous UNIX comme :
),
« sed » (cf. section
) et « awk » (cf. section
),
Nous pourrons donc avoir les cas de figure suivants :
| Syntaxe | Signification |
#!/bin/sh |
Tout ce qui va suivre obéit à la syntaxe Bourne Shell. Le processus
à lancer pour exécuter et évaluer les instructions suivantes exécutera le
programme « /bin/sh ». |
#!/bin/csh |
Tout ce qui va suivre obéit à la syntaxe C Shell. Le processus
à lancer pour exécuter et évaluer les instructions suivantes exécutera le
programme « /bin/csh ». |
#!/bin/ksh |
Tout ce qui va suivre obéit à la syntaxe Korn Shell. Le processus
à lancer pour exécuter et évaluer les instructions suivantes exécutera le
programme « /bin/ksh ». |
#!/bin/egrep |
Tout ce qui va suivre obéit à la syntaxe de la commande « /bin/egrep ». Le processus
à lancer pour exécuter et évaluer les instructions suivantes exécutera le
programme « /bin/egrep ». |
#!/bin/sed |
Tout ce qui va suivre obéit à la syntaxe de la commande « /bin/sed ». Le processus
à lancer pour exécuter et évaluer les instructions suivantes exécutera le
programme « /bin/sh ». |
#!/bin/awk |
Tout ce qui va suivre obéit à la syntaxe de l'utilitaire « awk ». Le processus
à lancer pour exécuter et évaluer les instructions suivantes exécutera le
programme « /bin/awk » |
#!/usr/bin/perl |
Tout ce qui va suivre obéit à la syntaxe de Perl. Le processus
à lancer pour exécuter et évaluer les instructions suivantes exécutera le
programme « /usr/bin/perl » |
| etc. | |