summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cobra/hello/index.sh1
-rwxr-xr-xcobra/index.sh20
2 files changed, 21 insertions, 0 deletions
diff --git a/cobra/hello/index.sh b/cobra/hello/index.sh
new file mode 100644
index 00000000..df2dea7c
--- /dev/null
+++ b/cobra/hello/index.sh
@@ -0,0 +1 @@
+echo 'Hello, world!'
diff --git a/cobra/index.sh b/cobra/index.sh
new file mode 100755
index 00000000..e3c5a1ea
--- /dev/null
+++ b/cobra/index.sh
@@ -0,0 +1,20 @@
+#! /bin/sh
+set -euf
+trap "echo 'You are made of stupid!' >&2; exit 23" EXIT
+disarm() {
+ trap - EXIT
+}
+
+COBRA_PATH="${COBRA_PATH-$PWD}"
+
+## main
+for target; do
+ for path in $COBRA_PATH; do
+ if test -d "$path/$target"; then
+ if index="$path/$target/index.sh" && test -f "$index"; then
+ exec /bin/sh "$index"
+ disarm
+ fi
+ fi
+ done
+done