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 :
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. |