Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

menu

Viene chiamato un tipo comune di interattività guidato da menu. Nei programmi guidati da menu, all'utente viene presentato un elenco di scelte e viene chiesto di sceglierne una. Ad esempio, potremmo immaginare un programma che presentasse quanto segue:



Si prega di selezionare:


1. Visualizza le informazioni di sistema

2. Visualizza spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci


Inserisci la selezione [0-3] >

Si prega di selezionare:


1. Visualizza le informazioni di sistema

2. Visualizza spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci


Inserisci la selezione [0-3] >


Usando ciò che abbiamo imparato scrivendo il nostro sys_info_page programma, possiamo costruire un programma guidato da menu per eseguire le attività nel menu sopra:



#! / 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] > "

#! / 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

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


Questo script è logicamente diviso in due parti. La prima parte visualizza il menu e inserisce la risposta dell'utente. La seconda parte identifica la risposta ed esegue l'azione selezionata. Notare l'uso di exit comando in questo script. Viene utilizzato qui per impedire che lo script esegua codice non necessario dopo che è stata eseguita un'azione. La presenza di più punti di uscita in un programma è generalmente una cattiva idea (rende più difficile la comprensione della logica del programma), ma funziona in questo script.


Il miglior sistema operativo cloud computing su OnWorks: