Patrice OLIVER a écrit :
A quoi correspond le PATH retourné ? J'avoue rester perplexe. Si vous
avez des suggestions, je suis preneur.

Au PATH du user apache utilisé.
Ce user n'utilise pas /etc/profile s'il ne tourne pas dans un shell interactif.

Cf man bash (rechercher "profile")

       When bash is invoked as an interactive login shell, or as a 
non-interactive shell with the --login option, it first reads  and  executes  
commands
       from  the  file  /etc/profile, if that file exists.  After reading that 
file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
       order, and reads and executes commands from the first one that exists 
and is readable.  The --noprofile option may  be  used  when  the  shell  is
       started to inhibit this behavior.

       When a login shell exits, bash reads and executes commands from the file 
~/.bash_logout, if it exists.

       When  an  interactive  shell  that is not a login shell is started, bash 
reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if these
       files exist.  This may be inhibited by using the --norc option.  The 
--rcfile file option will force bash to read and execute commands  from  file
       instead of /etc/bash.bashrc and ~/.bashrc.

       When  bash  is  started  non-interactively, to run a shell script, for 
example, it looks for the variable BASH_ENV in the environment, expands its
       value if it appears there, and uses the expanded value as the name of a 
file to read and execute.  Bash behaves as if the following  command  were
       executed:
              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
       but the value of the PATH variable is not used to search for the file 
name.
etc...


et en français ça donne

       Lorsque  bash est lancé comme interpréteur de commandes de connexion 
interactif ou comme interpréteur non interactif avec l’option --login, il lit
       et exécute tout d’abord les commandes se trouvant dans le fichier 
/etc/profile si ce fichier existe. Après lecture de  ce  fichier,  il  recherche
       ~/.bash_profile,  ~/.bash_login  et  ~/.profile, dans cet ordre, puis 
lit et exécute les commandes se trouvant dans le premier fichier existant et
       accessible en lecture. L’option --noprofile peut être utilisée à l’appel 
de l’interpréteur pour empêcher ce comportement.

       Lorsqu’un interpréteur de commandes de connexion termine, bash lit et 
exécute les commandes du fichier ~/.bash_logout, s’il existe.

       Quand un interpréteur interactif démarre sans être un interpréteur de 
commandes de connexion, bash lit et exécute les commandes se  trouvant  dans
       /etc/bash.bashrc  et  ~/.bashrc  s’ils  existent. Ce comportement peut 
être empêché à l’aide de l’option --norc. L’option --rcfile fichier forcera
       bash à lire et exécuter les commandes dans fichier plutôt que dans 
/etc/bash.bashrc et ~/.bashrc.

       Quand bash est démarré de façon non interactive, par exemple pour lancer 
un  script,  il  consulte  la  variable  BASH_ENV  dans  l’environnement,
       développe son contenu si elle existe et considère cette valeur comme le 
nom d’un fichier à lire et exécuter. Bash se comporte comme si la commande
       suivante était exécutée :
              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
       mais la valeur de la variable PATH n’est pas utilisée pour rechercher le 
fichier.

       Si bash est appelé sous le nom sh, il essaye d’imiter le comportement de 
démarrage des versions historiques de sh aussi fidèlement  que  possible,
       tout  en restant conforme aux spécifications POSIX. Lorsqu’il est appelé 
comme interpréteur de commandes de connexion interactif ou non interactif
       avec l’option --login, il essaye d’abord de lire et exécuter, dans cet 
ordre, les commandes de /etc/profile puis de ~/.profile. L’option  --nopro‐
       file  peut  être  utilisée  pour empêcher ce comportement. Quand il est 
appelé en tant qu’interpréteur interactif sous le nom sh, bash consulte la
       variable ENV, développe sa valeur si elle est définie et utilise le 
résultat en tant que nom de fichier à lire et exécuter. Comme un  interpréteur
       appelé  sous  le  nom  sh n’essaye pas de lire et d’exécuter des 
commandes d’un quelconque autre fichier de démarrage, l’option --rcfile n’a 
aucun
       effet. Un interpréteur non interactif appelé sous le nom sh n’essaie de 
lire aucun autre fichier d’initialisation. Quand il est appelé sous le nom
       sh, bash entre en mode posix après avoir lu les fichiers 
d’initialisation.

       Quand  bash  est  appelé en mode posix comme avec l’option --posix sur 
la ligne de commande, il suit le standard POSIX pour les fichiers de démar‐
       rage. Dans ce mode, les interpréteurs interactifs développent la 
variable ENV et les commandes sont lues et exécutées à partir du fichier dont  
le
       nom est la valeur développée. Aucun autre fichier d’initialisation n’est 
lu.

--
Daniel


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à