Bash Pagina 64

De la Wiki Linux Advanced
Sari la navigare Sari la căutare

Getopts 1

Utilitate: getopts ajută la analizarea listelor de argumente în scripturile Bash.

Formatul opțiunilor: Se așteaptă ca opțiunile să înceapă cu o liniuță (-x).

Opțiuni cu argumente: Permite opțiuni care iau un argument (de exemplu, fișier -f).

Sintaxa getopts

getopts optstring nume

Parametrii optstring:

O listă de opțiuni așteptate. De exemplu, ab va permite scriptului să gestioneze opțiunea -a și/sau -b. Adăugați : la opțiunile care preiau un argument. De exemplu, a: va face ca -a să accepte un argument, dar -b nu.

nume:
Numele unei variabile. De fiecare dată când apelați getopts, următoarea opțiune va fi plasată în $nume.

Comportamentul getopts

getopts returnează false atunci când nu mai sunt disponibile opțiuni de procesat.

Exemplu de utilizare getops

#!/bin/bash
# Inițializăm variabilele
file=""
verbose=0 
# Analizăm opțiunile
while getopts "vf:" opt; do
   case $opt in
       v)  # Opțiunea -v pentru verbose
           verbose=1
           ;;
       f)  # Opțiunea -f pentru a specifica un fișier
           file="$OPTARG"
           ;;
       \?) # Opțiune invalidă
           echo "Opțiune invalidă: -$OPTARG" >&2
           exit 1
           ;;
   esac
done
# Verificăm dacă a fost specificat un fișier
if [ -z "$file" ]; then
   echo "Utilizare: $0 -f <fișier> [-v]"
   exit 1
fi
# Afișăm informații
if [ $verbose -eq 1 ]; then
   echo "Mod verbose activat."
fi
echo "Fișier specificat: $file"
# Restul scriptului ar putea folosi variabila $file
# pentru a efectua acțiuni pe fișierul specificat.

Descrierea scriptului:

  • Scriptul folosește getopts pentru a analiza opțiunile -v (verbose) și -f (fișier).
  • Când se folosește -f, scriptul așteaptă un argument, care este stocat în variabila file.
  • Opțiunea -v activează un mod detaliat de afișare (verbose).
  • La sfârșit, scriptul verifică dacă a fost specificat un fișier și afișează informațiile corespunzătoare.

Utilizare:

./script.sh -f document.txt -v 


Pagina anterioară | Următoarea pagină