On Wed, 27 Feb 2008, Brock Noland wrote:

>> (1) absolute path
>>     example:  /usr/local/bin/script.bash
>
> [[ ${0:0:1} == "/" ]]

I don't know what that does or how it is used.  I put it in a script and 
nothing happened.


>> (2) relative path
>>     example:  ../../../local/bin/script.bash
>>     example:  ./local/bin/script.bash
>>     example:  local/bin/script.bash
>
> $PWD/`dirname`
>
>> (3) in search path ($PATH)
>>     example:  script.bash
>
> which $0
>
>> (4) as above but using globbing
>>     example:  local/bin/scri*
>
> $PWD/`dirname`
>
>
> If you are correct that these are the only possibilities. Check for 1
> and 3 first, then go with 3/4.


Are you saying that it is better to have a series of checks followed by a 
series of different commands, one for each case, instead of doing this...

echo $(dirname "$(\which "$0")")

...which seems to always work for any case?


Mike