.lib/sh/stubexec.sh

Thu, 25 Nov 2021 14:13:46 -0500

author
Meredith Howard <mhoward@roomag.org>
date
Thu, 25 Nov 2021 14:13:46 -0500
changeset 957
ea852d545173
parent 932
f87943eb16aa
child 958
b883fb5c4792
permissions
-rw-r--r--

improve stubexec

932
f87943eb16aa stubexec fixes
Meredith Howard <mhoward@roomag.org>
parents: 915
diff changeset
1 realpath() {
f87943eb16aa stubexec fixes
Meredith Howard <mhoward@roomag.org>
parents: 915
diff changeset
2 local dir="$(dirname -- "$1")"
f87943eb16aa stubexec fixes
Meredith Howard <mhoward@roomag.org>
parents: 915
diff changeset
3 local file="$(basename -- "$1")"
f87943eb16aa stubexec fixes
Meredith Howard <mhoward@roomag.org>
parents: 915
diff changeset
4 (cd "$dir" 2>/dev/null && printf '%s/%s\n' "$(pwd -P)" "$file")
f87943eb16aa stubexec fixes
Meredith Howard <mhoward@roomag.org>
parents: 915
diff changeset
5 }
f87943eb16aa stubexec fixes
Meredith Howard <mhoward@roomag.org>
parents: 915
diff changeset
6
957
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
7 realbin() {
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
8 which -a $(basename $1) |
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
9 grep -v "$(realpath $1)" |
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
10 head -n 1
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
11 }
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
12
915
55a1c83b3417 spin out stubexec
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
13 stubexec() {
957
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
14 local real_bin="$(realbin "$0")"
915
55a1c83b3417 spin out stubexec
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
15 if [ -x "$real_bin" ]; then
957
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
16 exec "$real_bin" $*
915
55a1c83b3417 spin out stubexec
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
17 fi
957
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
18 install_it
ea852d545173 improve stubexec
Meredith Howard <mhoward@roomag.org>
parents: 932
diff changeset
19 stubexec $*
915
55a1c83b3417 spin out stubexec
Meredith Howard <mhoward@roomag.org>
parents:
diff changeset
20 }

mercurial