From a82ca0dc4f6e695c607ffaedde23171431dc3285 Mon Sep 17 00:00:00 2001 From: NRK Date: Sat, 1 May 2021 05:09:08 +0600 Subject: [PATCH] reimplement argument parsing --- sxbm | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/sxbm b/sxbm index c6206c5..a76fd98 100755 --- a/sxbm +++ b/sxbm @@ -134,24 +134,17 @@ bm_list(){ } bm_open(){ + if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then + local FORCE=1 + shift + fi [ -z "$1" ] && die "No arguments given" - while [ -n "$1" ]; do - case "$1" in - "-f"|"--force") - local FORCE="1" - shift - ;; - [0-9]) - local LINK=$( awk "NR == $1 {print \$1}" $DATA_FILE ) - shift - ;; - *) - local LINK=$( bm_list "-c" "$@" | awk '{print $2}' ) - shift "$#" - ;; - esac - done + if [ -z "$2" ] && [ "$1" -eq "$1" 2>/dev/null ]; then + local LINK=$( awk "NR == $1 {print \$1}" $DATA_FILE ) + else + local LINK=$( bm_list "-c" "$@" | awk '{print $2}' ) + fi [ -n "$LINK" ] && local LINK_NUM=$( printf "$LINK" | wc -l ) ||