On Thu, 2008-02-28 at 20:19 -0600, Mike Hicks wrote: > EXEC_DIR="$(builtin cd "${0%/*}" && builtin echo "$PWD")" The only problem I've found so far is with a directory with a '-' as the first character. 'cd -' changes to $OLDPWD. 'cd -P' and 'cd -L' handle following symlinks in different ways (I believe 'cd -P' is the default). But, in order to even execute when the first character in $0 will be a dash, you have to start the script with an extra '--', as in: #!/bin/bash -- If you want to check for this, then I'd suggest: EXEC_DIR="$(builtin cd -P -- "${0%/*}" && builtin echo "$PWD")" Similarly, you *might* have to pass '-E' to echo to disable some escape sequence handling, but I'm not quite sure if that's necessary. Bash's builtin echo won't ignore '--', but we don't need to worry about accidentally passing a parameter to echo since the first character in $PWD is always going to be a slash. I think... -- Mike Hicks <hick0088 at tc.umn.edu> -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20080228/c818a5e4/attachment.pgp