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...
diggit! del.icio.us! reddit!