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...) |
Admin (discuție | contribuții) |
||
Linia 1: | Linia 1: | ||
==Exercițiul 2== | ==Exercițiul 2== | ||
# Funcție pentru afișarea modului de utilizare | #!/bin/bash | ||
usage() { | # Funcție pentru afișarea modului de utilizare | ||
usage() { | |||
echo "Usage: $0 [-r] [-b n1] [-s n2] stop" | echo "Usage: $0 [-r] [-b n1] [-s n2] stop" | ||
echo " -r Afișează numerele în ordine inversă (descrescătoare)" | echo " -r Afișează numerele în ordine inversă (descrescătoare)" | ||
Linia 12: | Linia 11: | ||
echo " -h Afișează acest mesaj de ajutor" | echo " -h Afișează acest mesaj de ajutor" | ||
exit 1 | exit 1 | ||
} | } | ||
# Valori implicite | |||
# Valori implicite | reverse=false | ||
reverse=false | start=0 | ||
start= | stop=10 | ||
stop=10 | # Parsarea opțiunilor | ||
while getopts ":rb:s:h" opt; do | |||
# Parsarea opțiunilor | |||
while getopts ":rb:s:h" opt; do | |||
case ${opt} in | case ${opt} in | ||
r) | r) | ||
Linia 43: | Linia 40: | ||
;; | ;; | ||
esac | esac | ||
done | done | ||
shift $((OPTIND -1)) | shift $((OPTIND -1)) | ||
# Verificare argument "stop" | |||
# Verificare argument "stop" | if [[ $1 != "stop" ]]; then | ||
if [[ $1 != "stop" ]]; then | |||
echo "Lipseste argumentul 'stop'" | echo "Lipseste argumentul 'stop'" | ||
usage | usage | ||
fi | fi | ||
# Afișare numere în funcție de ordine | |||
# Afișare numere în funcție de ordine | if $reverse; then | ||
if $reverse; then | |||
for ((i = stop; i >= start; i--)); do | for ((i = stop; i >= start; i--)); do | ||
echo "$i" | echo "$i" | ||
done | done | ||
else | else | ||
for ((i = start; i <= stop; i++)); do | for ((i = start; i <= stop; i++)); do | ||
echo "$i" | echo "$i" | ||
done | done | ||
fi | fi | ||
[[Bash_Pagina_72|Pagina anterioară]] | [[Bash_Pagina_74|Următoarea pagină]] | [[Bash_Pagina_72|Pagina anterioară]] | [[Bash_Pagina_74|Următoarea pagină]] |
Versiunea de la data 27 octombrie 2024 14:11
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