[vox-tech] Bash question

Tim Riley vox-tech@lists.lugod.org
Mon, 29 Sep 2003 09:25:37 -0700


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