X-Git-Url: http://git.tuebingen.mpg.de/?p=gsu.git;a=blobdiff_plain;f=subcommand;h=05860f68395f67ffd3e9a51a60e48eb857a9cca8;hp=6b5df0a37c2a676c7c86d74c5a07371fddd2e1bf;hb=ed4541e12d830109204e66ac8c76750d3693eeff;hpb=f31cc416b1acdbb8f5703b208d943ce500a5b840 diff --git a/subcommand b/subcommand index 6b5df0a..05860f6 100644 --- a/subcommand +++ b/subcommand @@ -8,7 +8,7 @@ fi _gsu_usage() { - gsu_short_msg "# Usage: $_gsu_self command [options]" + gsu_short_msg "# Usage: $gsu_name command [options]" } # Return an extended regular expression to match against $0. @@ -110,11 +110,11 @@ _com_prefs() ret=-$E_GSU_MKDIR result="${conf%/*}" mkdir -p "$result" - [[ $? -ne 0 ]] && return + (($? != 0)) && return ret=-$E_GSU_EDITOR result="${EDITOR:-vi}" "$result" "$conf" - [[ $? -ne 0 ]] && return + (($? != 0)) && return ret=$GSU_SUCCESS return fi @@ -160,15 +160,15 @@ _com_man() local minus_signs="--------------------------------------------------" local com num - echo "$_gsu_self (_${gsu_banner_txt}_) manual" - echo "${equal_signs:0:${#_gsu_self} + ${#gsu_banner_txt} + 16}" + echo "$gsu_name (_${gsu_banner_txt}_) manual" + echo "${equal_signs:0:${#gsu_name} + ${#gsu_banner_txt} + 16}" echo sed -e '1,/^#\{70,\}/d' -e '/^#\{70,\}/,$d' $0 -e 's/^# *//' echo "----" echo - echo "$_gsu_self usage" - echo "${minus_signs:0:${#_gsu_self} + 6}" + echo "$gsu_name usage" + echo "${minus_signs:0:${#gsu_name} + 6}" printf "\t" _gsu_usage 2>&1 echo "Each command has its own set of options as described below." @@ -180,9 +180,7 @@ _com_man() _gsu_available_commands for com in $result; do num=${#com} - if test $num -lt 4; then - num=4 - fi + (($num < 4)) && num=4 echo "${minus_signs:0:$num}" echo "$com" echo "${minus_signs:0:$num}" @@ -192,11 +190,6 @@ _com_man() ret=$GSU_SUCCESS } -_gsu_banner_msg() -{ - gsu_short_msg "### $_gsu_self -- ###" -} - export gsu_help_txt=" Print online help. @@ -227,7 +220,7 @@ _com_help() ere="$result" if (($# == 0)); then - _gsu_banner_msg 2>&1 + gsu_short_msg "### $gsu_name -- $gsu_banner_txt ###" _gsu_usage 2>&1 { printf "com_help()\n$gsu_help_txt" | head -n 4; echo "--" @@ -257,7 +250,7 @@ _com_help() # and print the sucker p' echo - echo "# Try $_gsu_self help for info on ." + echo "# Try $gsu_name help for info on ." ret=$GSU_SUCCESS return fi @@ -337,7 +330,7 @@ gsu_getopts() ' gsu_check_arg_count $# 1 1 - if [[ $ret -lt 0 ]]; then + if (($ret < 0)); then gsu_err_msg exit 1 fi @@ -534,7 +527,7 @@ gsu() _gsu_setup _gsu_available_commands gsu_cmds="$result" - if test $# -eq 0; then + if (($# == 0)); then _gsu_usage _gsu_print_available_commands exit 1 @@ -544,7 +537,7 @@ gsu() # check internal commands if [[ "$arg" = "help" || "$arg" = "man" || "$arg" = "prefs" || "$arg" = "complete" ]]; then _com_$arg "$@" - if [[ "$ret" -lt 0 ]]; then + if (("$ret" < 0)); then gsu_err_msg exit 1 fi @@ -555,7 +548,7 @@ gsu() for i in $gsu_cmds; do if test "$arg" = "$i"; then com_$arg "$@" - if [[ "$ret" -lt 0 ]]; then + if (("$ret" < 0)); then gsu_err_msg exit 1 fi @@ -586,16 +579,16 @@ gsu() gsu_check_arg_count() { ret=-$E_GSU_BAD_ARG_COUNT - if [[ $# -eq 2 ]]; then # only num1 is given + if (($# == 2)); then # only num1 is given result="at least $2 args required, $1 given" - [[ $1 -lt $2 ]] && return + (($1 < $2)) && return ret=$GSU_SUCCESS return fi # num1 and num2 given result="need at least $2 args, $1 given" - [[ $1 -lt $2 ]] && return + (($1 < $2)) && return result="need at most $3 args, $1 given" - [[ $1 -gt $3 ]] && return + (($1 > $3)) && return ret=$GSU_SUCCESS }