l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
December 2: Social gathering
Next Installfest:
TBD
Latest News:
Nov. 18: Club officer elections
Page last updated:
2003 Sep 29 13:34

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] Bash question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Bash question



Jay Strauss wrote:

> Sorry for being unclear.  No that's not what I'm looking for.
>
> I want to source a script from my .bashrc.   When that sourced file starts
> to run I want it (the sourced file) to learn its location on the filesystem.
> Normally $0 contains the full path and name of the file being run.  But in a
> login or su, $0 contains -bash or -su (respectively).

This can't be done when sourcing because bash doesn't fork another
bash; instead, it opens the shell script for read, gets each line from
the script file, and executes the line using an exec() function.

If you want for it to know its location, try passing it as a parameter.

>
>
> Jay
> ----- Original Message -----
> From: "MB" <sparkynine@yahoo.com>
> To: <vox-tech@lists.lugod.org>
> Sent: Monday, September 29, 2003 10:27 AM
> Subject: Re: [vox-tech] Bash question
>
> > If I understand you right, you want an exit code from your script.  And
> > then read that code.
> >
> > That is done like this:
> >
> > ------------- /opt/myapp/bin/config -------------------
> > #!/bin/sh
> >
> > # check stuff here...
> >
> > # set env vars here...
> > export MYVAR="/path/to/executable"
> >
> >
> > if [ test ]; then
> >     exit 1
> > fi
> >
> > if [ test2 ]; then
> >     exit 2
> > fi
> >
> > exit 0
> >
> > ---------------------------
> >
> > You should then be able to run in .bachrc
> >
> > . /opt/myapp/bin/config
> >
> > echo $?     ## to find out the exit code
> > echo $MYVAR    ## should return /path/to/executable
> >
> >
> > Am I misunderstanding the question?
> >
> > Mark
> >
> >
> > Jay Strauss wrote:
> >
> > >Hi,
> > >
> > >I want to get the path of the file from a script called from .bashrc.
> Like:
> > >
> > >##.bashrc
> > >. /opt/myapp/bin/config
> > >
> > >
> > >## /opt/myapp/bin/config
> > >pwd
> > >echo $0
> > >
> > >
> > >In this case during login:
> > >pwd = /home/jstrauss
> > >$0 = -bash
> > >
> > >I'd like to get a variable with the value /opt/myapp/bin/config
> > >but I can't find a combination of commands that will give my that during
> > >login or su
> > >
> > >Jay
> > >
> > >
> > >_______________________________________________
> > >vox-tech mailing list
> > >vox-tech@lists.lugod.org
> > >http://lists.lugod.org/mailman/listinfo/vox-tech
> > >
> > >
> > >
> >
> >
> >
> > _______________________________________________
> > vox-tech mailing list
> > vox-tech@lists.lugod.org
> > http://lists.lugod.org/mailman/listinfo/vox-tech
> >
> >
>
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech

_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.