Bash Pagina 73: Diferență între versiuni
Sari la navigare
Sari la căutare
Admin (discuție | contribuții) (Pagină nouă: ==Exercițiul 2== <code> #!/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...) |
(Nicio diferență)
|
Versiunea de la data 27 octombrie 2024 14:10
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