diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b01e47f..ee15f1f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,7 +22,7 @@ jobs: run: | rev=`git rev-parse HEAD` pwd - ./install.sh -d -l + ./install.sh -dl test `git rev-parse HEAD` = "$rev" - name: antigen build @@ -69,7 +69,7 @@ jobs: run: | rev=`git rev-parse HEAD` pwd - ./install.sh -d -l + ./install.sh -dl test `git rev-parse HEAD` = "$rev" - name: antigen build @@ -113,7 +113,7 @@ jobs: - name: install dfs run: | rev=`git rev-parse HEAD` - ./install.sh -d -a -l + ./install.sh -dal test `git rev-parse HEAD` = "$rev" - name: antigen build with DFS_NO_WALL diff --git a/install.sh b/install.sh index 087d7d1..2b61496 100755 --- a/install.sh +++ b/install.sh @@ -253,16 +253,22 @@ uninstall(){ } BIN=install -while [[ $# > 0 ]]; do - case $1 in - -i ) BIN=install ;; - -r ) BIN=uninstall ;; - -q|--quite ) export DFS_QUIET=1 ;; - -d|--dev ) export DFS_DEV=1 ;; - -l|--lite ) export DFS_LITE=1 ;; - -a|--auto ) install_dependencies ;; - * ) fmt_warning "unknown command \"$1\". available: -i, -r, -q, -d, -l, -a"; exit 1 ;; +ARG="" +while [[ $# > 0 || -n "$ARG" ]]; do + if [[ -z "$ARG" ]]; then ARG=$1 ORIGIN_ARG=$1; shift; fi + case $ARG in + -i* ) BIN=install ;; + -r* ) BIN=uninstall ;; + -q*|--quite ) export DFS_QUIET=1 ;; + -d*|--dev ) export DFS_DEV=1 ;; + -l*|--lite ) export DFS_LITE=1 ;; + -a*|--auto ) install_dependencies ;; + * ) fmt_warning "unknown command \"$ORIGIN_ARG\". available: -i, -r, -q, -d, -l, -a"; exit 1 ;; esac - shift + if [[ "$ARG" == "--"* || ${#ARG} == 2 ]]; then + ARG="" + else + ARG=-${ARG:2} + fi done $BIN