summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortv <tv@also>2011-06-20 00:49:35 +0200
committertv <tv@also>2011-06-20 00:49:35 +0200
commitac6754f5ff14254e871b8e100a8f990387df9f0b (patch)
tree18092b560158d36d8044a687aaa35d105807c927
parent699a0472a4d18505fa989deffbca5a6b4f86a927 (diff)
cobra: initial index.sh
-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