Bash Pagina 73
Sari la navigare
Sari la căutare
Exercițiul 2
- !/bin/bash
- Funcție pentru afișarea modului de utilizare
usage() {
echo "Usage: $0 [-r] [-b n1] [-s n2] stop"
echo " -r Afișează numerele în ordine inversă (descrescătoare)"
echo " -b n1 Setează valoarea de început n1"
echo " -s n2 Setează valoarea de sfârșit n2"
echo " -h Afișează acest mesaj de ajutor"
exit 1
}
- Valori implicite
reverse=false
start=1
stop=10
- Parsarea opțiunilor
while getopts ":rb:s:h" opt; do
case ${opt} in
r)
reverse=true
;;
b)
start=$OPTARG
;;
s)
stop=$OPTARG
;;
h)
usage
;;
\?)
echo "Invalid option: -$OPTARG" >&2
usage
;;
:)
echo "Option -$OPTARG requires an argument." >&2
usage
;;
esac
done
shift $((OPTIND -1))
- Verificare argument "stop"
if $1 != "stop" ; then
echo "Lipseste argumentul 'stop'"
usage
fi
- Afișare numere în funcție de ordine
if $reverse; then
for ((i = stop; i >= start; i--)); do
echo "$i"
done
else
for ((i = start; i <= stop; i++)); do
echo "$i"
done
fi