From 34d583aaf8ad210bcd6025e819224636c822e1b1 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Tue, 3 Mar 2020 01:57:23 -0500 Subject: Use getopts in shell scripts WTF why did no one tell me about this? --- bin/up.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'bin') 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} -- cgit 1.4.1