aboutsummaryrefslogtreecommitdiff
path: root/tools/find-root
diff options
context:
space:
mode:
Diffstat (limited to 'tools/find-root')
-rwxr-xr-xtools/find-root26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/find-root b/tools/find-root
new file mode 100755
index 0000000..d2c71ab
--- /dev/null
+++ b/tools/find-root
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+set -eu
+
+if [ ! "${1:-}" ]; then
+ exit 1
+fi
+
+BASEDIR="$(dirname "$1")"
+
+while read -r glob; do
+ cd "$BASEDIR"
+
+ while [ "$PWD" != "/" ]; do
+ set -- $glob
+
+ if [ -e "$1" ]; then
+ echo "$PWD"
+ exit 0
+ fi
+
+ cd ..
+ done
+done
+
+echo "$BASEDIR"