Bash Pagina 73

De la Wiki Linux Advanced
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=0
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

Pagina anterioară | Următoarea pagină