Bash Pagina 73: Diferență între versiuni

De la Wiki Linux Advanced
Sari la navigare Sari la căutare
(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...)
 
Linia 1: Linia 1:
==Exercițiul 2==
==Exercițiul 2==


<code>
#!/bin/bash


# 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=1
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
 
</code>


[[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

Pagina anterioară | Următoarea pagină