Syntaxe:
sélectionnez v dans data_listfais
déclaration1
Énoncé2
Énoncé3
Fini
Ici, l'élément de menu sera créé à partir de la data_list qui peut être un tableau ou une autre source de données. Chaque élément de menu extrait de la data_list et stocke dans une variable pour créer le menu. La commande 'Select' peut être utilisée avec la commande 'case' également pour créer le menu. Différents types de tâches de création de menu sont présentés ici à l'aide d'exemples très simples.
Exemple-1 : Création d'un menu simple
Créez un fichier bash nommé select1.sh avec le script bash suivant. Ici, 'sélectionner' La commande récupérera chaque donnée de la liste et imprimera les données sous forme de menu. Le script suivant contient les noms de marque des téléphones mobiles et après avoir exécuté le script, il créera un menu de marques mobiles et demandera à l'utilisateur de choisir n'importe quelle marque. Il imprimera le nom de la marque sélectionnée. L'utilisateur doit appuyer sur Ctrl+c terminer à partir du script.
#!/bin/bash# Définissez la liste des menus ici
sélectionnez la marque dans Samsung Sony iphone symphony Walton
fais
echo "Vous avez choisi $brand"
Fini
Production:
Exécutez le script.
$ bash select1.shLa sortie suivante apparaîtra après avoir exécuté le script et sélectionné les éléments de menu numéro 1 et 4.
Exemple-2 : commande Select avec une instruction case
Comment vous pouvez créer un menu bash avec une instruction case est montré dans cet exemple. Créez un fichier bash nommé select2.sh avec le script bash suivant. Après avoir exécuté le script, l'utilisateur sélectionnera n'importe quel élément de menu et l'instruction case correspondra à la valeur sélectionnée avec la valeur case. Ici, plusieurs valeurs de casse sont utilisées pour la correspondance avec l'élément de menu sélectionné. Si aucune des valeurs de cas ne correspond à l'élément de menu sélectionné, alors « Entrée invalide » s'imprimera.
#!/bin/bashecho "Quel système d'exploitation aimez-vous?"
# Les noms de système d'exploitation sont utilisés ici comme source de données
sélectionnez le système d'exploitation dans Ubuntu LinuxMint Windows8 Windows7 WindowsXP
fais
cas $os dans
# Deux valeurs de cas sont déclarées ici pour la correspondance
"Ubuntu"|"LinuxMint")
echo "J'utilise aussi $os."
;;
# Trois valeurs de cas sont déclarées ici pour la correspondance
"Windows8" | "Windows10" | "Windows XP")
echo "Pourquoi n'essayez-vous pas Linux?"
;;
# Correspondance avec des données invalides
*)
echo "Entrée invalide."
Pause
;;
esac
Fini
Production:
Exécutez le script.
La sortie différente apparaîtra pour une sélection différente. Ici, 1 est sélectionné la première fois c'est Ubuntu. il correspond à la valeur du premier cas imprimer le message "J'utilise aussi Ubuntu". 4 est sélectionné la prochaine fois et l'élément de menu est Windows 7 mais il n'y a pas de valeur case avec ce nom. Donc, cette fois, il a imprimé "Entrée invalide" et terminer à partir du script.
Exemple-3 : Création d'un menu bash imbriqué
Lorsqu'un menu est créé sous le menu de l'autre, cela s'appelle un menu imbriqué. Le menu imbriqué peut être créé dans la base en utilisant deux ou plusieurs instructions select et case. Créez un fichier bash nommé select3.sh avec le script bash suivant. Ici, deux instructions select et case sont utilisées pour implémenter le menu imbriqué. Le menu parent contient 4 éléments et le sous-menu contient 3 éléments ici.
#!/bin/bashbien que vrai
fais
# Éléments du menu parent déclarés ici
sélectionnez l'élément dans Souris Imprimante Moniteur HDD
fais
# instruction case pour comparer les premiers éléments du menu
case $item dans
Souris)
echo "Quel type de moniteur aimez-vous?"
;;
Imprimante)
# Éléments de sous-menu déclarés ici
sélectionnez un sous_élément dans Samsung HP Dell
fais
# déclaration de cas pour les éléments du menu solaire
case $sub_item dans
Samsung)
echo "Le prix de l'imprimante Samsung est de 100 $"
Pause
;;
HP)
echo "Le prix de la nouvelle imprimante HP 880 est de 450 $"
# retour au menu parent
Pause
;;
Dell)
echo "Aucune imprimante Dell n'est disponible maintenant"
# retour au menu parent
pause 2
;;
esac
Fini
Pause
;;
Surveiller)
echo "Achetez notre nouveau moniteur Samsung à petit prix"
pause # retour au menu (principal) actuel
;;
disque dur)
echo "Des disques durs de bonne qualité sont disponibles en stock"
# retour du script
pause 2
esac
Fini
Fini
Production:
Exécutez le script.
$ bash select3.shAprès avoir exécuté le script, le menu parent avec 4 éléments affichés. Ici, seul le deuxième élément de menu du menu parent contient un sous-menu. Après avoir sélectionné 2, le sous-menu est apparu et lorsque l'utilisateur a sélectionné 3, il a affiché le message correspondant de l'élément de menu 3 et revient au menu parent.
Exemple-4 : Créer un menu bash avec un tableau
Une variable de tableau peut stocker plusieurs données. Ainsi, vous pouvez utiliser un tableau comme liste de données pour créer un menu de base. Comment vous pouvez utiliser un tableau avec une instruction select pour créer un menu est montré dans cet exemple. Créez un fichier bash nommé select4.sh avec le script bash suivant. La sous-routine Bash est utilisée dans ce script pour créer un menu à partir du tableau. Un tableau à trois éléments est utilisé et menu_from_array () est appelé pour créer le menu. Le script vérifiera que le numéro de l'élément de menu sélectionné est compris entre 1-3 ou non. Si le numéro n'est pas dans cette plage, il demandera à l'utilisateur de le sélectionner dans cette plage, il imprimera l'élément de menu de sélection avec un autre texte.
menu_from_array ()sélectionnez l'élément; fais
# Vérifiez le numéro de l'élément de menu sélectionné
if [ 1 -le "$REPLY" ] && [ "$REPLY" -le $# ];
ensuite
echo "Le système d'exploitation sélectionné est $item"
Pause;
autre
echo "Mauvaise sélection : sélectionnez n'importe quel nombre de 1 à $#"
Fi
Fini
# Déclarer le tableau
linux=('Ubuntu' 'Linux Mint' 'CentOS')
# Appeler le sous-programme pour créer le menu
menu_from_array "$linux[@]"
Production:
Exécutez le script.
$ bash select4.shIci, 2 est sélectionné en premier qui se trouve dans la plage et imprimé le texte. 6 est sélectionné la deuxième fois qui est hors plage et suggère à l'utilisateur de sélectionner un nombre dans la plage.
Conclusion
La tâche de création de menu Bash à l'aide d'une instruction select est expliquée dans ce tutoriel aussi simple que possible. J'espère que le codeur qui souhaite travailler sur le menu bash et apprendre l'instruction bash select obtiendra de l'aide de ce tutoriel. Merci.