summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--bin/up.sh15
1 files changed, 7 insertions, 8 deletions
diff --git a/bin/up.sh b/bin/up.sh
index 0ff9e69b..8b70de70 100644
--- a/bin/up.sh
+++ b/bin/up.sh
@@ -58,17 +58,16 @@ uploadTerminal() {
 	upload "${temp}/term.html"
 }
 
-args=$(setopt 'chst' "$@")
-eval set -- "$args"
-for opt; do
+while getopts 'chst' opt; do
 	case "$opt" in
-		(-c) shift; fn=uploadCommand;;
-		(-h) shift; fn=uploadHi;;
-		(-s) shift; fn=uploadScreen;;
-		(-t) shift; fn=uploadTerminal;;
-		(--) shift; break;;
+		(c) fn=uploadCommand;;
+		(h) fn=uploadHi;;
+		(s) fn=uploadScreen;;
+		(t) fn=uploadTerminal;;
+		(?) exit 1;;
 	esac
 done
+shift $(($OPTIND - 1))
 [ $# -eq 0 ] && : ${fn:=uploadText}
 : ${fn:=upload}