[Gllug] .bash_profile & .bashrc
Stuart Sears
stuart at sjsears.com
Mon Aug 30 12:14:18 UTC 2004
On Monday 30 August 2004 09:02, Andrew Black (li) wrote:
> Hi
> I am confused between the files - .bash_profile & .bashrc
> I am trying to put some customised alias and $PATH etc and am finding
> things are different between a Konsole session and an SSH session.
an ssh session doesn't give your full login environment
most konsole (and other x terminal emulators) sessions are non-login shells
> What is the rationale for putting things into either file.
see below for RH-style setups
> On related point, if I want soemthing to be defined for all users, is it
> legit to create it to a file in the directory /etc/profile.d.
> I have done this and it works but it appears tobe called twice (so if you
> add to $PATH it happens twice :-( )
this will depend in part on which distro you are running -
originally Mandrake was just RH recompiled and they may still do things the
same way. What's in your ~/.bash_profile?
The RH distros write the bash startup scripts so they are read in the
following order:
1) login shell
/etc/profile
~/.bash_profile
~/.bashrc : called from ~/.bash_profile (Mandrake may not do this)
/etc/bashrc : called from ~/.bashrc (ditto)
/etc/profile.d/* : run by a loop in /etc/profile
2) non-login shell
~/.bashrc
/etc/bashrc : as above
/etc/profile.d/* : run by a loop in /etc/bashrc
Aliases and functions on a per-user basis will mostly go into ~/.bashrc as
this file is read for both login and non-login shells
Environment variables usually go into ~/.bash_profile (ie read once at login.
non-login shells you open will most likely be subshells of the login shell,
and will inherit its variables.)
Global changes to paths should be done in /etc/profile (in fact user PATH and
other vars are set in here)
Scripts that you wish to run for every user should be dumped in /etc/profile.d
- they will be read for both login and non-login shells
>
> I am using Mandrake 9 if that is relevant
haven't checked out how this does it but originally Mandrake was just RH
recompiled and they may still do things this way
> Andrew
--
Stuart Sears RHCE, RHCX
Sometimes I think the surest sign that intelligent life exists elsewhere in
the universe is that none of it has tried to contact us. -- Calvin
--
Gllug mailing list - Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug
More information about the GLLUG
mailing list