Você pode usar getopts
para analisar a linha de comando. Veja man bash
e procure por getopts
para detalhes. Aqui está um exemplo de como ele poderia ser usado:
#!/bin/bash
#
usage="USAGE: ${0/*\/} [-r <number>] [-u <user>]"
while getopts ':r:u:' OPT
do
case "$OPT" in
r) thenumber="$OPTARG" ;;
u) theuser="$OPTARG" ;;
*) echo "$usage" >&2; exit 1 ;;
esac
done
shift $((OPTIND -1))
echo "thenumber=${thenumber:-<unset>}"
echo "theuser=${theuser:-<unset>}"
exit 0