[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash scripts: how to determine directory of 'source'd file



michael wrote:
On Tue, 2006-01-31 at 10:16 -0500, Juergen Fiedler wrote:
On Tue, Jan 31, 2006 at 02:26:27PM +0000, michael wrote:
Presuming I have a file setEnvVars.sh that I wish to source, . path/setEnvVars.sh
How do I, within the script, determine the actual directory within which
the setEnvVars.sh file sits? The sourcing seems to disallow me access to
$0 etc

thanks, M
If I understand your question correctly, the '$_' variable should do
the trick.

doesn't seem to:
michael@ratty:~/models-3/CMAQ-4.5/scripts$ head ../defineEnvVars
#!/bin/bash
echo $_

michael@ratty:~/models-3/CMAQ-4.5/scripts$ . ../defineEnvVars
../defineEnvVars
michael@ratty:~/models-3/CMAQ-4.5/scripts$ cd cctm
michael@ratty:~/models-3/CMAQ-4.5/scripts/cctm$ . ../../defineEnvVars
cctm


what I am trying to do in the script is get it to work out the directory
in which defineEnvVars live, irrespective of which directory I am when I
run . [path]/defineEnvVars

thanks, michael



I think you might want this.

appdirname=`pwd`
rcname=backup/include
echo $appdirname"/"$rcname

But the following would be better if all the contents of the app are in the same directory...

rcname=`pwd`/backup/include
echo $rcname

Hope this helps....



Reply to: