Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Custodie

In bash, viene chiamato il comando composto a scelta multipla Custodie. Ha la seguente sintassi:

Custodie parola in

[modello [| modello]...) comandi ;;]...

che C

Se guardiamo al menu di lettura programma dal Capitolo 28, vediamo la logica utilizzata per agire sulla selezione di un utente:



#! / Bin / bash

# read-menu: un programma di informazioni di sistema guidato da menu chiaro

eco "

Si prega di selezionare:


1. Visualizza le informazioni di sistema

2. Visualizza spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci "

leggi -p "Inserisci selezione [0-3] > "


if [[ $REPLY =~ ^[0-3]$ ]]; allora if [[ $REPLY == 0 ]]; poi

#! / Bin / bash

# read-menu: un programma di informazioni di sistema guidato da menu chiaro

eco "

Si prega di selezionare:


1. Visualizza le informazioni di sistema

2. Visualizza spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci "

leggi -p "Inserisci selezione [0-3] > "


if [[ $REPLY =~ ^[0-3]$ ]]; allora if [[ $REPLY == 0 ]]; poi


echo "Programma terminato." Uscita

fi

if [[ $REPLY == 1 ]]; then echo "Hostname: $HOSTNAME" uptime

exit

fi

if [[ $REPLY == 2 ]]; quindi df -h

exit

fi

if [[ $REPLY == 3 ]]; poi

if [[ $(id -u) -eq 0 ]]; poi

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

altro

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

fi uscita

per altro

echo "Voce non valida." >&2 uscita 1

fi

echo "Programma terminato." Uscita

fi

if [[ $REPLY == 1 ]]; then echo "Hostname: $HOSTNAME" uptime

exit

fi

if [[ $REPLY == 2 ]]; quindi df -h

exit

fi

if [[ $REPLY == 3 ]]; poi

if [[ $(id -u) -eq 0 ]]; poi

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

altro

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

fi uscita

per altro

echo "Voce non valida." >&2 uscita 1

fi


utilizzando Custodie, possiamo sostituire questa logica con qualcosa di più semplice:


#! / Bin / bash

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

eco "

Si prega di selezionare:


1. Visualizza le informazioni di sistema

2. Visualizza spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci "

leggi -p "Inserisci selezione [0-3] > "


caso $REPLY in

0) echo "Programma terminato." Uscita

;;

#! / Bin / bash

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

eco "

Si prega di selezionare:


1. Visualizza le informazioni di sistema

2. Visualizza spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci "

leggi -p "Inserisci selezione [0-3] > "


caso $REPLY in

0) echo "Programma terminato." Uscita

;;


1) echo "Hostname: $HOSTNAME" uptime

;;

2) df-h

;;

3) if [[ $(id -u) -eq 0 ]]; poi

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

altro

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

fi

;;

*) echo "Inserimento non valido" >&2 uscita 1

;;

che C

1) echo "Hostname: $HOSTNAME" uptime

;;

2) df-h

;;

3) if [[ $(id -u) -eq 0 ]]; poi

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

altro

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

fi

;;

*) echo "Inserimento non valido" >&2 uscita 1

;;

che C


I Custodie il comando guarda il valore di parola, nel nostro esempio, il valore di REPLY variabile, quindi tenta di confrontarla con una delle variabili specificate modelli. Quando viene trovata una corrispondenza, il comandi associati al modello specificato vengono eseguiti. Dopo che viene trovata una corrispondenza, non vengono tentate ulteriori corrispondenze.


 

Il miglior sistema operativo cloud computing su OnWorks: