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>

maisons

In bash, la commande composée à choix multiples est appelée maisons. Il a la syntaxe suivante :

maisons mot in

[modèle [| modèle(...)...) commandes ;;]...

Esac

Si nous regardons le lire-menu programme du chapitre 28, nous voyons la logique utilisée pour agir sur la sélection d'un utilisateur :



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

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

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


En utilisant maisons, nous pouvons remplacer cette logique par quelque chose de plus simple :


#! / Bin / bash

# case-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] > "


cas $REPLY dans

0) echo "Programme terminé." sortir

;;

#! / Bin / bash

# case-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] > "


cas $REPLY dans

0) echo "Programme terminé." sortir

;;


1) echo "Nom d'hôte : $HOSTNAME"

;;

2) df-h

;;

3) si [[ $(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

;;

*) echo "Entrée invalide" >&2 sortie 1

;;

Esac

1) echo "Nom d'hôte : $HOSTNAME"

;;

2) df-h

;;

3) si [[ $(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

;;

*) echo "Entrée invalide" >&2 sortie 1

;;

Esac


La maisons commande regarde la valeur de mot, dans notre exemple, la valeur du RÉPONDRE variable, puis tente de la faire correspondre à l'une des motifs. Lorsqu'une correspondance est trouvée, le commandes associés au modèle spécifié sont exécutés. Une fois qu'une correspondance est trouvée, aucune autre correspondance n'est tentée.


 

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