| Re: shell utilisé par system() ? |
|
 |
|
 |
|
 |
|
 |
Author: Marc Espie Date: Apr 22, 2008 14:58
In article <480e57ff$0$23023$426a74cc@news.free.fr>,
Nicolas George salle-s.org> wrote:
>mpg wrote in message talisker.lacave.net>:
>> Quel est le shell utilisé par la fonction system() pour, par exemple,
>> développer les * et autres ?
>
>Le Murphy shell : s'il y a une moindre dépendance de ton programme au
>comportement du shell, tu peux être sûr qu'il y aura des fois où ce sera le
>mauvais qui sera appelé.
>
>Donc il faut faire des programmes qui n'en dépendent pas.
Pour completer la reponse de Nicolas, glob() te permettra d'etendre toi-meme
les parametres comme tu veux, et la syntaxe 'system LIST' te permet d'invoquer
un programme sans passer par un shell.
perldoc -f system est un peu plus optimiste (si j'ose dire) et te garantit
'/bin/sh -c' sur les plateformes Unix.
Comme de toutes facons, hors Unix, tu peux t'attendre a une grosse dose de
n'importe quoi sur tout ce qui ressemble de pres ou de loin a 'system',
il n'y a pas grand risque, en fait.
Mais bon, system + shell, c'est plus un raccourci pour petit script qu'une
construction vraiment solide a utiliser en perl...
|