BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] What the use of .bashrc
- Subject: [Discuss] What the use of .bashrc
- From: abreauj at gmail.com (John Abreau)
- Date: Tue, 30 Oct 2012 11:29:48 -0400
- In-reply-to: <508FE5D1.7070905@blu.org>
- References: <2A3E80A1-303B-43C2-A773-F3AE429A720B@mac.com> <20121030101332.00001ae4@unknown> <508FE5D1.7070905@blu.org>
Interesting. I had written my own, ages ago, but I made them two separate functions. Also, they work not only for PATH, but for any similar environment variable such as MANPATH, CLASSPATH, etc. I never made them check for a pre-existing instance, though; they were simple one-liners. Thanks for the tip; I'm updating them to do that. Usage: prepend-path PATH /path/to/bin append-path PATH /path/to/bin prepend-path() { case "$1" in *:"$1":*) ;; *) eval "$1=$2:\$$1" ;; esac } append-path() { case "$1" in *:"$1":*) ;; *) eval "$1=\$$1:$2" ;; esac } On Tue, Oct 30, 2012 at 10:36 AM, Jerry Feldman <gaf at blu.org> wrote: > 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 > > > > _______________________________________________ > Discuss mailing list > Discuss at blu.org > http://lists.blu.org/mailman/listinfo/discuss > -- John Abreau / Executive Director, Boston Linux & Unix PGP KeyID: 32A492D8 / Email: abreauj at gmail.com PGP FP: 7834 AEC2 EFA3 565C A4B6 9BA4 0ACB AD85 32A4 92D8
- Follow-Ups:
- [Discuss] What the use of .bashrc
- From: gaf at blu.org (Jerry Feldman)
- [Discuss] What the use of .bashrc
- From: abreauj at gmail.com (John Abreau)
- [Discuss] What the use of .bashrc
- References:
- [Discuss] What the use of .bashrc
- From: glennhoffman at mac.com (Glenn Hoffman)
- [Discuss] What the use of .bashrc
- From: richard.pieri at gmail.com (Rich Pieri)
- [Discuss] What the use of .bashrc
- From: gaf at blu.org (Jerry Feldman)
- [Discuss] What the use of .bashrc
- Prev by Date: [Discuss] What the use of .bashrc
- Next by Date: [Discuss] What the use of .bashrc
- Previous by thread: [Discuss] What the use of .bashrc
- Next by thread: [Discuss] What the use of .bashrc
- Index(es):