.lib/sh/stubexec.sh

changeset 932
f87943eb16aa
parent 915
55a1c83b3417
child 957
ea852d545173
--- a/.lib/sh/stubexec.sh
+++ b/.lib/sh/stubexec.sh
@@ -1,5 +1,12 @@
+realpath() {
+  local dir="$(dirname -- "$1")"
+  local file="$(basename -- "$1")"
+  (cd "$dir" 2>/dev/null && printf '%s/%s\n' "$(pwd -P)" "$file")
+}
+
 stubexec() {
-  local real_bin="$(which -a $(basename $0) | grep -v $0 | head -n 1)"
+  local real_me="$(realpath "$0")"
+  local real_bin="$(which -a $(basename $0) | grep -v "$real_me" | head -n 1)"
   if [ -x "$real_bin" ]; then
     exec $real_bin $*
   fi

mercurial