Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Modelli

I modelli utilizzati da Custodie sono gli stessi utilizzati dall'espansione del percorso. I pattern terminano con il carattere ")". Ecco alcuni pattern validi:


Tabella 31-1: Esempi di modelli di casi


Descrizione del modello

Descrizione del modello

a) Corrisponde se parola è uguale a "a".


Immagine

[[:alfa:]]) Corrisponde se parola è un singolo carattere alfabetico.


Immagine

???) Corrisponde se parola è lungo esattamente tre caratteri.


Immagine

*.TXT) Corrisponde se parola termina con i caratteri “.txt”.


Immagine

*) Corrisponde a qualsiasi valore di parolaÈ buona norma includere questo come ultimo modello in un Custodie comando, per catturare qualsiasi valore di parola che non corrispondeva a un modello precedente, ovvero per catturare eventuali valori non validi.


Immagine


Ecco un esempio di modelli in funzione:


#! / Bin / bash

leggi -p "inserisci parola > " caso $REPLY in

[[:alpha:]]) echo "è un singolo carattere alfabetico." ;; [ABC][0-9]) echo "è A, B o C seguito da una cifra." ;;

???) echo "è lungo tre caratteri." ;;

*.txt) echo "è una parola che termina in '.txt'" ;;

*) echo "è qualcos'altro." ;; esac

#! / Bin / bash

leggi -p "inserisci parola > " caso $REPLY in

[[:alpha:]]) echo "è un singolo carattere alfabetico." ;; [ABC][0-9]) echo "è A, B o C seguito da una cifra." ;;

???) echo "è lungo tre caratteri." ;;

*.txt) echo "è una parola che termina in '.txt'" ;;

*) echo "è qualcos'altro." ;; esac


È anche possibile combinare più pattern utilizzando il carattere barra verticale come separatore. Questo crea un pattern condizionale "o". Questo è utile per gestire sia caratteri maiuscoli che minuscoli. Ad esempio:



#! / Bin / bash

# case-menu: un programma di informazioni di sistema guidato da menu

eco "

Seleziona:


A. Visualizza le informazioni di sistema

B. Visualizza spazio su disco

C. Visualizza l'utilizzo dello spazio domestico

Q. Esentato "

leggi -p "Inserisci selezione [A, B, C o Q] > "


caso $REPLY in

q|Q) echo "Programma terminato." exit

;;

un|A) echo "Nome host: $HOSTNAME" tempo di attività

;;

b|B) df -h

;;

c|C) se [[ $(id -u) -eq 0 ]]; allora

echo "Utilizzo dello spazio domestico (tutti gli utenti)" du -sh /home/*

altro

echo "Utilizzo dello spazio domestico ($USER)" du -sh $HOME

fi

#! / Bin / bash

# case-menu: un programma di informazioni di sistema guidato da menu

eco "

Seleziona:


A. Visualizza le informazioni di sistema

B. Visualizza spazio su disco

C. Visualizza l'utilizzo dello spazio domestico

Q. Esentato "

leggi -p "Inserisci selezione [A, B, C o Q] > "


caso $REPLY in

q|Q) echo "Programma terminato." exit

;;

un|A) echo "Nome host: $HOSTNAME" tempo di attività

;;

b|B) df -h

;;

c|C) se [[ $(id -u) -eq 0 ]]; allora

echo "Utilizzo dello spazio domestico (tutti gli utenti)" du -sh /home/*

altro

echo "Utilizzo dello spazio domestico ($USER)" du -sh $HOME

fi


;;

*) echo "Voce non valida" >&2 exit 1

;;

che C

;;

*) echo "Voce non valida" >&2 exit 1

;;

che C


Qui modifichiamo il menu dei casi programma per utilizzare lettere anziché cifre per la selezione del menu. Nota come i nuovi modelli consentano l'inserimento sia di lettere maiuscole che minuscole.


Il miglior sistema operativo cloud computing su OnWorks: