aboutsummaryrefslogtreecommitdiff
path: root/repo.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xrepo.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/repo.sh b/repo.sh
new file mode 100755
index 0000000..7d81867
--- /dev/null
+++ b/repo.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+set -eu
+
+f() {
+ set -e
+ bad-command
+ unreachable
+ return 0
+}
+
+f && echo 'Executed, but shoult not'
+
+if f; then
+ echo 'Also executed, but should not'
+fi
+
+f || echo 'Not executed, but should be'
+
+if ! f; then
+ echo 'Also not executed, but should be'
+fi
+
+set -x
+set +e
+f
+STATUS=$?
+set -e
+if [ "$STATUS" != 0 ]; then
+ echo 'Only one that is executed when it should be'
+fi
+
+f
+echo 'This is *actually* unreachable'