From b50e4118c04267c7debe284d202290bf4142a635 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Wed, 2 Sep 2009 18:26:52 +0200 Subject: [PATCH] use getopts for argument evaluation --- quassellog | 40 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/quassellog b/quassellog index b9e3be4..6481311 100755 --- a/quassellog +++ b/quassellog @@ -52,45 +52,35 @@ function usage { sqlite3 "$database" "SELECT buffername FROM buffer WHERE buffername != '' ORDER BY buffername" | column echo echo " PATTERN a simple pattern, use * for wildcard matching" - echo - # TODO: - echo "NOTE: order of options is not exchangable, i.e. first -u, then -b then pattern..." } if [[ "$database" == "" || ! -f "$database" ]]; then echo "BAD DATABASE: $database" echo usage - exit + exit 1 fi -if [[ "$1" == "-u" ]]; then - shift 1 - if [[ "$1" == "" ]]; then - usage - exit +while getopts "u:b:" flag +do + if [[ "$flag" == "u" ]]; then + user="$OPTARG" + elif [[ "$flag" == "b" ]]; then + buffer="$OPTARG" fi - user="$1" - shift 1 -fi +done -if [[ "$1" == "-b" ]]; then - shift 1 - if [[ "$1" == "" ]]; then - usage - exit - fi - buffer="$1" - shift 1 -fi +shift $(($OPTIND - 1)) -if [[ "$1" == "" && "$user" == "" && "$buffer" == "" ]]; then +pattern="$1" + +if [[ "$pattern" == "" && "$user" == "" && "$buffer" == "" ]]; then + echo "pattern required" + echo usage - exit + exit 1 fi -pattern="$1" - # escape ' pattern=${pattern//\'/\'\'} # escape %