the 3rd example works with dirname $0 as well.
In your 2nd example there is no script that is running. The
commands in the script are read as though you typed them in from
the terminal -- which means there is no "scriptname" to find
the name of.
You could check if $0 is equal to a shell name and give an error,
but source <command_list> isn't equivalent to calling a shell
script.
Sorry don't have any better answers for #2...
-linda
Arthur Schwarz wrote:
I'm trying to find the directory of an executing bash script and am having
very limited success. For example(s):
1. <path>/script.sh
2. source <path>/script.sh
3. bash <path>/script.sh
I can find the correct <path> only for the first example (dirname $0). PWD
(of course) only works when <path> == ./. The other two cases I can't seem
to get to work. Any idea how to get the <path> in examples 2 and 3?
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/