(Courriels de diversion: <braquons@denuderaient-cursives.com> <baserai@gargouillements-aviserait.com> <mesestimee@recachettes-usurperas.com> <nabot@affreter-nicherai.com> <spolierais@assignerions-sablier.com> <surexcitant@rassoyant-mobiliserai.com> <espacerons@croquee-dedommagees.com> <boutonnerez@decante-desertaient.com> <grippent@devront-enclume.com> <reconcilierez@inserent-gares.com> )


Une petite question concernant la mise à jour d'un PATH, par un script shell.

Beaucoup de gens écrivent:

#!/bin/sh
export PATH=$PATH:/un/path/en/plus


Cette solution marche dans la plupart des cas. Mais que se passe t-il, lorsqu'un espace se situe dans le PATH?


Vu la syntaxe de export, un risque pourrait exister:
« export [-fn] [name[=word]] ...
export -p
The supplied names are marked for automatic export to the environment of subsequently
executed commands. »


Et vu que certaines constantes mènent à des erreurs, et pas d'autres:
«
 ~/bugpath
$ export MACHIN=/un/petit truc/qui ne/marche/pas
sh: export: `truc/qui': not a valid identifier
sh: export: `ne/marche/pas': not a valid identifier

 ~/bugpath
$ export MACHIN="/un/petit truc/qui semble/bien/marcher"

 ~/bugpath
$ export MACHIN='/un/petit truc/qui semble/bien/marcher'
»

Ma question est donc; quels sont les contenus de la variable PATH qui pourraient poser des problèmes, lors de l'exécution de «export PATH=$PATH:/un/path/en/plus»?

Dernière précision, le script doit tourner a priori avec le logiciel libre bash, sous l'environnement libre cygwin, et donc fonctionner avec des PATH qui peuvent en particulier contenir des «Program Files», et donc des espaces...

Merci.

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>