[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] shell



Salut.

> 
> Mon avis:
> Ce n'est pas le shell qui interprète le #! mais le système lorsque l'on execute 
> directement un executable 
> Est ce que je me trompes ?
> 

Vi, je crois que tu te trompes.
Je crois que j'ai la réponse à ta question :

Admettons qu'on soit en bash.

Quand tu fais un "csh monscript", tu forces le script à etre lancé par l'interpréteur "csh", et donc il outrepasse la première ligne de ton script, si elle contient un interpréteur quelconque, lancé par un "#!".
Quand tu rends ton script exécutable, il va prendre par contre le "#!/bin/bash" de la première ligne comme l'interpréteur de ton script.
Ceci est vrai pour bash, mais aussi pour tcl/tk, perl, python.

Ex. Soit le script exécutable suivant (monscript) :
> cat monscript  
#!/usr/bin/wish -f
>

Quand tu fais "bash monscript", ben, t'as rien, qu'il soit exécutable ou non.
Par contre, quand tu lances "./monscript", tu as la fenetre wish qui est lancée.

Y a qu'a attendre l'avis des autres, maintenant ;-)

Voila.
-- 
Eugene Sandford 

[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php     ]
[ http://LinuxBe.org              Contact: listmaster@linuxbe.org  ]