Marc SCHAEFER wrote:
> 
> On Fri, 2 Feb 2001, Marc Mongenet wrote:
> 
> > Bonjour, les fichiers .bash_profile et .bashrc par défaut de Debian me
> > laissent un peu perplexes.
> 
> Ils sont simples, et favorisent la sécurité. Ils n'ont pas des gazillions
> d'aliases et de trucs genre rm -i. Moi j'aime bien.
                  ^ ^ ^ ^ ^ ^ ^ ^ ^
           Ça aussi j'aime bien qu'il n'y ait pas !

> > .bash_profile ne me semble être en fait jamais utilisé lorsqu'on utilise XDM
> 
> Je ne sais pas, mais les commentaires sont assez clairs:

Oui, mais la question était surtout de savoir dans quels cas
bash est ouvert en mode login. Et surtout, sachant que ce
n'est pas le cas depuis un xterm, à quoi peut servir .bash_profile ?

>    schaefer@defian:~% head -1 .bash_profile .bashrc
>    ==> .bash_profile <==
>    # ~/.bash_profile: executed by bash(1) for login shells.
> 
>    ==> .bashrc <==
>    # ~/.bashrc: executed by bash(1) for non-login shells.

En fait ce qui m'a le plus troublé, c'est le commentaire
suivant trouvé dans mon .bash_profile :

# set PATH so it includes user's private bin if it exists
#if [ -d ~/bin ] ; then
#    PATH="~/bin:${PATH}"
#fi

En effet, j'ai décommenté sans réfléchir (confiance aveugle
dans le commentaire), mais ~/bin n'a pas été ajouté (puisque
.bash_profile n'est jamais exécuté par mes bash).

> Login par modem, console, ou ssh -> .bash_profile
> Ouverture d'un xterm (normalement), lancement d'un sous-shell: .bashrc

C'est une partie déjà un (petit) peu moins clair. Y compris dans la doc :

"Bash attempts  to  determine  when it is being run by the
 remote shell daemon, usually rshd."

Mais existe-t-il une raison logique pour laquelle le shell n'est
pas lancé en mode login par les xterm ? Cela semble illogique
d'après la raison de l'existence du .bash_profile donnée par
"Running Linux 2nd edition" :

"The difference between [.bash_profile] and .bashrc is that
.bash_profile runs only when you log in. It was originally
designed so you could separate interactive shells from those
run by background processors like cron. But it is not useful on
modern computer with the X Window System, because when you
open a new xterm window, only .bashrc runs. If you start up a
window with the command xterm -ls, it will run .bash_profile,
too."
 
> Chez moi je lance d'ailleurs .bashrc dans moins .bash_profile:
>    # ~/.bash_profile: executed by bash(1) for login shells.
> 
>    umask 002
>    . ~/.bashrc

Je crois que c'est aussi ce que je vais faire.
Mais surtout il me semble plus logique que les xterm lancent
bash en mode login, non ? Sinon à quoi peut servir .bash_profile ?
 
> > Une majorité d'utilisateurs de Debian utilisent-ils la console ?
> 
> A mon avis c'est possible.

Peut-être une explication sur le fait que personne ne trouve
malpropre le fait que xterm ne lance pas le shell en mode login. :-)
 
Marc
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.

Répondre à