Commandes Linux

Commande de sélection Bash

Commande de sélection Bash
'Sélectionner' est une commande bash très utile pour la création de menu bash. Différents types de tâches de génération de menus, création d'une liste de directeurs basée sur des menus, création d'un menu à partir du contenu du fichier, etc. peut être fait en utilisant la commande bash select. Comment vous pouvez implémenter ces types de tâches à l'aide de la commande bash select sont présentés dans ce didacticiel.

Syntaxe:

sélectionnez v dans data_list
fais
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.sh

La 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/bash
echo "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.

$ bash select2.sh

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/bash
bien 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.sh

Aprè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.sh

Ici, 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.

Comment afficher la superposition OSD dans les applications et jeux Linux en plein écran
Jouer à des jeux en plein écran ou utiliser des applications en mode plein écran sans distraction peut vous couper des informations système pertinente...
Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...