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:
August 18: A professional photographer's view of Linux
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2004 Aug 27 11:39

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] Identifying the directory that contains thecurrently running executable?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Identifying the directory that contains thecurrently running executable?



--On Friday, August 27, 2004 10:28:27 AM -0700 Ken Bloom <kabloom@ucdavis.edu> wrote:

Is there a way to identify the directory that contains the currently
running executable, so that I can programmatically refer to it?
Bill noted the entry in the /proc filesystem. For systems without /proc there's no simple way to get this. The program can examine argv[0], but that may contain only the program name without the directory path, in which case you would generally read the PATH environment variable and look for the program in each directory listed. It's also possible for argv[0] to contain an irrelevant or misleading string, so you shouldn't depend on it if security is an issue.

Is there a way to identify the directory that contains the currently
running script in bash?
$0 is the name of the script file. You can extract the directory portion with the dirname command. It might be a relative path, so if you need the absolute path you might have to combine it with $PWD.

Are there ways to do this in other scripting languages (e.g. perl)?
Well, the interpreter must know where the script file is, so it's just a question of whether the interpreter makes the information available to the script. In the case of perl, it's also stored in the variable $0.

--
Ken Herron
_______________________________________________
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.