Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Menu

Un tipo comune di interattività è chiamato guidato da menuNei programmi basati su menu, all'utente viene presentato un elenco di opzioni e gli viene chiesto di sceglierne una. Ad esempio, potremmo immaginare un programma che presenti quanto segue:



Seleziona:


1. Visualizza le informazioni di sistema

2. Visualizza lo spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci


Inserisci la selezione [0-3] >

Seleziona:


1. Visualizza le informazioni di sistema

2. Visualizza lo spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci


Inserisci la selezione [0-3] >


Utilizzando ciò che abbiamo imparato scrivendo il nostro pagina_info_sys 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

eco "

Seleziona:


1. Visualizza le informazioni di sistema

2. Visualizza lo 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

eco "

Seleziona:


1. Visualizza le informazioni di sistema

2. Visualizza lo spazio su disco

3. Visualizza l'utilizzo dello spazio domestico

0. Esci "

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


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

echo "Programma terminato." exit

fi

se [[ $REPLY == 1 ]]; allora echo "Nome host: $HOSTNAME" tempo di attività

exit

fi

se [[ $REPLY == 2 ]]; allora df -h

exit

fi

se [[ $REPLY == 3 ]]; allora

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

uscita fi

per altro

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

fi

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

echo "Programma terminato." exit

fi

se [[ $REPLY == 1 ]]; allora echo "Nome host: $HOSTNAME" tempo di attività

exit

fi

se [[ $REPLY == 2 ]]; allora df -h

exit

fi

se [[ $REPLY == 3 ]]; allora

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

uscita fi

per altro

echo "Voce non valida." >&2 exit 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. Si noti l'uso del exit comando in questo script. Viene utilizzato qui per impedire che lo script esegua codice non necessario dopo aver eseguito un'azione. La presenza di più punti di uscita in un programma è generalmente una cattiva idea (rende la logica del programma più difficile da comprendere), ma funziona in questo script.


Il miglior sistema operativo cloud computing su OnWorks: