diff options
author | sb <sb@openoffice.org> | 2010-06-23 10:45:22 +0200 |
---|---|---|
committer | sb <sb@openoffice.org> | 2010-06-23 10:45:22 +0200 |
commit | c6d6e6bf9f8d8a3a6e6543ded33e4ac387ea6766 (patch) | |
tree | 07d7a43c978f3b5a52e304fd6f514632cb420627 /desktop/scripts/unopkg.sh | |
parent | 4740aded6eb2e45c3565e2b70b29e691d190bad7 (diff) |
sb126: #i112542# resolve $0 symlinks recursively in start scripts (based on a patch by pooryorick)
Diffstat (limited to 'desktop/scripts/unopkg.sh')
-rw-r--r-- | desktop/scripts/unopkg.sh | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh index 0fe319735c06..055db33da791 100644 --- a/desktop/scripts/unopkg.sh +++ b/desktop/scripts/unopkg.sh @@ -31,15 +31,14 @@ SAL_ENABLE_FILE_LOCKING=1 export SAL_ENABLE_FILE_LOCKING # resolve installation directory -sd_cwd="`pwd`" -if [ -h "$0" ] ; then - sd_basename=`basename "$0"` - sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"` - cd "`dirname "$0"`" - cd "`dirname "$sd_script"`" -else - cd "`dirname "$0"`" -fi +sd_cwd=`pwd` +sd_res=$0 +while [ -h "$sd_res" ] ; do + cd "`dirname "$sd_res"`" + sd_basename=`basename "$sd_res"` + sd_res=`ls -l "$sd_basename" | sed "s/.*$sd_basename -> //g"` +done +cd "`dirname "$sd_res"`" sd_prog=`pwd` cd "$sd_cwd" |