[Discuss] What the use of .bashrc

Jerry Feldman gaf at blu.org
Tue Oct 30 10:36:01 EDT 2012


On 10/30/2012 10:13 AM, Rich Pieri wrote:
> On Tue, 30 Oct 2012 07:50:48 -0400
> Glenn Hoffman <glennhoffman at mac.com> wrote:
>> existence of .bashrc, since I have never used it myself. What's the
>> reason for a separate startup file for a non-login interactive shell?
> As a matter of principle, an interactive session should have one and
> only one login process associated with it. That's the login shell,
> whether it's BASH or something else.
>
> As a matter of practice, logging in on the console is a little
> different from starting a screen session. Having separate login and
> non-login run command files makes this easy keep sane. This is just one
> practical example among many.
>
Agreed. In the case of a Gnome or KDE session, it is the session that is
effectively the login shell. but neither gnome nor kde parse ~/.profile.
They generally use xinitrc.
The bottom line is it is, IMHO, best to set your path, environment
variables and  aliases ~/.bashrc. There is a very nice function in
/etc/bashrccalled pathmung() that allows you to add path variables to
your path either at the beginning or end but without duplicating anything:
pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}

If you read the function, it first tests to make sure your element is
not already in $PATH. In the default case '*)' it looks if you have
specified, 'after', and if so, it appends the element to your path,
otherwise it prepends.



-- 
Jerry Feldman <gaf at blu.org>
Boston Linux and Unix
PGP key id:3BC1EB90 
PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66  C0AF 7CEA 30FC 3BC1 EB90




More information about the Discuss mailing list