-#!/bin/bash
# gsu -- the global subcommand utility
# (C) 2006-2007 Andre Noll
E_GSU_NOT_A_NUMBER not a number
$gsu_errors
"
- local a b i
- local i=0
+ local a b i=0
while read a b; do
if test -z "$a"; then
continue
#echo "a:$a, b: $b"
gsu_error_txt[i]="$b"
eval $a=$i
- i=$((i + 1))
+ i=$(($i + 1))
done << EOF
$gsu_errors
EOF
else
txt="${gsu_error_txt[$err]}"
fi
- echo "$gsu_self: $txt" 1>&2
+ gsu_msg "$txt"
}
export -f gsu_err_msg
| sed -e 's/^com_\([a-zA-Z_0-9]\+\)()#*/\1\t/' \
| sort \
| while read a b; do
- echo -en "$a\t"
- if test ${#a} -lt 8; then
- echo -en "\t"
- fi
- echo "$b"
+ printf "$a\t"
+ if test ${#a} -lt 8; then
+ printf "\t"
+ fi
+ echo "$b"
done
echo
gsu_msg "Try $gsu_self help <command> for info on <command>."
gsu_short_msg "Available commands:"
for i in $gsu_cmds; do
printf "$i"
- count=$((count + 1))
- if test $((count % 4)) -eq 0; then
+ count=$(($count + 1))
+ if test $(($count % 4)) -eq 0; then
echo
else
printf "\t"
gsu()
{
+ local i
+
gsu_self="$(basename $0)"
gsu_init_errors
gsu_available_commands
shift
for i in $gsu_cmds; do
if test "$arg" = "$i"; then
- com_$arg $*
+ com_$arg "$@"
if test $ret -lt 0; then
gsu_err_msg
exit 1