Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

menus

Un type courant d'interactivité est appelé piloté par menu. Dans les programmes pilotés par menu, l'utilisateur se voit présenter une liste de choix et est invité à en choisir un. Par exemple, nous pourrions imaginer un programme qui présente les éléments suivants :



Veuillez sélectionner:


1. Afficher les informations système

2. Afficher l'espace disque

3. Afficher l'utilisation de l'espace domestique

0. Quitter


Entrer la sélection [0-3] >

Veuillez sélectionner:


1. Afficher les informations système

2. Afficher l'espace disque

3. Afficher l'utilisation de l'espace domestique

0. Quitter


Entrer la sélection [0-3] >


En utilisant ce que nous avons appris en écrivant notre sys_info_page programme, nous pouvons construire un programme piloté par menu pour effectuer les tâches du menu ci-dessus :



#! / Bin / bash

# read-menu : un programme d'information système piloté par menu clair

écho "

Veuillez sélectionner:


1. Afficher les informations système

2. Afficher l'espace disque

3. Afficher l'utilisation de l'espace domestique

0. Quitter "

read -p "Entrer la sélection [0-3] > "

#! / Bin / bash

# read-menu : un programme d'information système piloté par menu clair

écho "

Veuillez sélectionner:


1. Afficher les informations système

2. Afficher l'espace disque

3. Afficher l'utilisation de l'espace domestique

0. Quitter "

read -p "Entrer la sélection [0-3] > "


si [[ $REPLY =~ ^[0-3]$ ]] ; alors si [[ $REPLY == 0 ]]; alors

echo "Programme terminé." sortir

fi

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

sortie

fi

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

sortie

fi

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

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

echo "Utilisation de l'espace d'accueil (tous les utilisateurs)" du -sh /home/*

d'autre

echo "Utilisation de l'espace domestique ($USER)" du -sh $HOME

fi sortie

fi d'autre

echo "Entrée invalide." >&2 sortie 1

fi

si [[ $REPLY =~ ^[0-3]$ ]] ; alors si [[ $REPLY == 0 ]]; alors

echo "Programme terminé." sortir

fi

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

sortie

fi

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

sortie

fi

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

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

echo "Utilisation de l'espace d'accueil (tous les utilisateurs)" du -sh /home/*

d'autre

echo "Utilisation de l'espace domestique ($USER)" du -sh $HOME

fi sortie

fi d'autre

echo "Entrée invalide." >&2 sortie 1

fi


Ce script est logiquement divisé en deux parties. La première partie affiche le menu et saisit la réponse de l'utilisateur. La deuxième partie identifie la réponse et exécute l'action sélectionnée. Remarquez l'utilisation du sortie commande dans ce script. Il est utilisé ici pour empêcher le script d'exécuter du code inutile après l'exécution d'une action. La présence de plusieurs points de sortie dans un programme est généralement une mauvaise idée (cela rend la logique du programme plus difficile à comprendre), mais cela fonctionne dans ce script.


Meilleur système d'exploitation Cloud Computing chez OnWorks :