From 85b77541389ff64b2a1a2b394cfa59b81e96f160 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Fri, 17 Jan 2025 21:54:11 -0500 Subject: [PATCH] use getopt for more robust option handling --- docker-build | 21 ++++++++++++++++++--- docker-run | 50 +++++++++++++++++++++++++++++++++----------------- 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/docker-build b/docker-build index 9f54538..327f107 100755 --- a/docker-build +++ b/docker-build @@ -3,11 +3,26 @@ # update .NET REBUILD=false -if [ "$1" == "--rebuild" ]; then - REBUILD=true - shift + +vars=$(getopt -o r -l rebuild -- "$@") +if [ $? -ne 0 ]; then + + echo "usage: docker-build [--rebuild]" + exit + fi +eval set -- $vars + +for opt; do + case "$opt" in + -r|--rebuild) + REBUILD=true + shift + ;; + esac +done + if [ "$REBUILD" == "true" ]; then pushd ../mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server dotnet build diff --git a/docker-run b/docker-run index 9b0d27c..7eaf8f6 100755 --- a/docker-run +++ b/docker-run @@ -2,7 +2,39 @@ USE_SSL=false -./docker-build ${1+"$@"} +vars=$(getopt -o p:sr --long port:,enable-ssh,rebuild -- "$@") +if [ $? -ne 0 ]; then + + echo "usage: docker-run [-r, --rebuild] [-p, --port PORTFORWARD] [-s, --enable-ssh]" + exit +fi + +eval set -- "$vars" + +PORT_FORWARD="" +ENABLE_SSH="" +BUILD_OPTS="" + +for opt; do + + case "$opt" in + -p|--port) + PORT_FORWARD=$2 + shift 2 + ;; + -s|--enable-ssh) + ENABLE_SSH="true" + shift + ;; + -r|--rebuild) + BUILD_OPTS+=" --rebuild" + shift + ;; + esac + +done + +./docker-build $BUILD_OPTS Q=$? if [ $Q -ne 0 ]; then @@ -11,22 +43,6 @@ if [ $Q -ne 0 ]; then fi -PORT_FORWARD="" -if [ "$1" == "--port" ]; then - - PORT_FORWARD="$2" - shift; shift - -fi - -ENABLE_SSH="" -if [ "$1" == "--enable-ssh" ]; then - - ENABLE_SSH="true" - shift - -fi - # generate random UUID for new SUV # thanks https://stackoverflow.com/questions/34328759 # SUV_ID=$(hexdump -vn8 -e'2/4 "%08x" 1 "\n"' /dev/urandom)