From 55d9b213cfaa55f6be0ce9d803e3603dfbf87dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Hertzog?= Date: Fri, 24 Apr 2020 16:00:05 +0200 Subject: [PATCH] Improve handling of options allowed for "lb" before the sub-command --- frontend/lb | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/frontend/lb b/frontend/lb index 298b4255b..5dfa4cf53 100755 --- a/frontend/lb +++ b/frontend/lb @@ -19,25 +19,26 @@ DESCRIPTION="Utility to build live systems" HELP="" USAGE="lb {clean|config|build}" -case "${1}" in - -h|--help) - if [ $(which man) ]; then - man lb - else - Usage - fi - exit 0 - ;; +# This bits of code relies on the fact that we only accept +# options without values before the real command. +GLOBAL_ARGS="" +while true; do + case $1 in + -*) + GLOBAL_ARGS="${GLOBAL_ARGS:+$GLOBAL_ARGS }$1" + shift + ;; + *) + break + ;; + esac +done +Arguments $GLOBAL_ARGS - ""|-u|--usage) - Usage - ;; - - -v|--version) - echo "${VERSION}" - exit 0 - ;; -esac +if [ $# = 0 ]; then + Echo_error "Missing sub-command" + Usage --fail +fi COMMAND="${1}" shift