From cfa76a8655a6a620e2497ea49758f730921d2929 Mon Sep 17 00:00:00 2001 From: Jack <31696646+myspaghetti@users.noreply.github.com> Date: Sun, 5 Apr 2020 14:53:13 +0300 Subject: [PATCH] more readable command-line argument parsing order --- macos-guest-virtualbox.sh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/macos-guest-virtualbox.sh b/macos-guest-virtualbox.sh index 9f1fb1e..35f81cc 100755 --- a/macos-guest-virtualbox.sh +++ b/macos-guest-virtualbox.sh @@ -2,7 +2,7 @@ # Push-button installer of macOS on VirtualBox # (c) myspaghetti, licensed under GPL2.0 or higher # url: https://github.com/myspaghetti/macos-guest-virtualbox -# version 0.89.1 +# version 0.89.2 # Requirements: 40GB available storage on host # Dependencies: bash >= 4.3, xxd, gzip, unzip, wget, dmg2img, @@ -1394,18 +1394,22 @@ stages=' stages_without_newlines="${stages//[$'\r\n']/}" [[ "${1}" = "documentation" ]] && documentation && exit if [[ "${1}" = "troubleshoot" ]]; then set_variables; check_dependencies >/dev/null; troubleshoot; exit; fi -# every stage name must be preceded and followed by a space character -# for the command-line argument checking below to work -for argument in $@; do - [[ "${stages_without_newlines}" != *" ${argument} "* ]] && - echo "" && - echo "Can't parse one or more specified arguments. See documentation" && - echo "by entering the following command:" && - would_you_like_to_know_less && echo "" && echo "Available stages: ${stages}" && exit -done stages="${stages//documentation/}" # strip all occurrences of "documentation" stages="${stages//troubleshoot/}" # strip all occurrences of "troubleshoot" [[ -z "${1}" ]] && for stage in ${stages}; do ${stage}; done && exit +# every stage name must be preceded and followed by a space character +# for the command-line argument checking below to work +for argument in $@; do + if [[ "${stages_without_newlines}" != *" ${argument} "* ]]; then + echo "" + echo "Can't parse one or more specified arguments. See documentation" + echo "by entering the following command:" + would_you_like_to_know_less + echo "" + echo "Available stages: ${stages}" + exit + fi +done check_bash_version check_gnu_coreutils_prefix set_variables