[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: User-Profile



On Mon, 14 Apr 2003 at 22:36 (+0200), Andreas Schlegel wrote:
> 
> Bernd Brodesser wrote:
> > * Andreas Schlegel schrieb am 14.Apr.2003:
> >>
> >>Kann ich dem System irgendwo mitgeben, welche Profile-Datei es lesen soll?
> > 
> > .profile und .bash_profile werden nur bei einer loginshell gelesen.
> > Eine Loginshell hast Du, wenn Du Dich z.B in einer virtuellen
> > Konsole einlogst. Eine normale interaktive shell ruft hingegen
> > .bashrc auf. Siehe hierzu auch man bash
> Das erklärt mein "Problem". Eine .bashrc gibt es. Wenn ich dort meine 
> Werte eintrage, wenn sie beim Start auch gesetzt. Mein 
> Suse-profile-Denken hat mich in die Irre geführt.

Das war kein _Suse_-Profile-Denken, sondern ein *Unix*-Denken. Die
~/.profile ist Unix-Standard, die .bashrc und .bash_profile sind - 
wie der Name schon sagt - bash-spezifisch. Wenn Du mal spaßeshalber
die .bash_profile umbenennst und eine ~/.profile mit irgendwelchen
Kommandos (date, echo) drin anlegst, dann wirst Du auch sehen, dass
sie ausgeführt wird. Sie wird nur dann ignoriert, wenn es eine
.bash_profile gibt:

<schnipp>
k233:~# useradd tst && mkdir /home/tst && chown tst.users /home/tst
k233:~# su - tst
tst@k233:~$ echo "echo hier ist die .profile" >.profile
tst@k233:~$ echo "echo hier ist die .bashrc" >.bashrc
tst@k233:~$ logout
k233:~# su - tst
hier ist die .profile
tst@k233:~$ bash
hier ist die .bashrc
tst@k233:~$ logout
k233:~# su - tst
hier ist die .profile
tst@k233:~$ echo "echo und hier ist die .bash_profile"
>.bash_profile
tst@k233:~$ logout
k233:~# su - tst
und hier ist die .bash_profile
tst@k233:~$ logout
k233:~# userdel -r tst
<schnapp>

Die .bashrc wird bei einem Login durch die .bash_profile gelesen 
(das ist aber IIRC standardmäßig auskommentiert):
<Auschnitt aus .bash_profile>
# include .bashrc if it exists

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi
</Auschnitt aus .bash_profile>

BTW: Das Verhalten ist unter SuSE fast identisch, mit einem 
Unterschied:
Die .bashrc wird auch bei einem Login ausgeführt, egal ob eine 
.bash_profile existiert oder nicht (zusätzlich zur .profile bzw.
.bash_profile). Ich habs gerade noch mal ausprobiert.

Jan



Reply to: