scripts de coquille interactive Whiptail

scripts de coquille interactive Whiptail
Les scripts shell s'exécutent sur la ligne de commande par défaut. Cependant, il existe un moyen de créer des scripts de coquille interactifs, et il s'agit d'utiliser la commande whiptail Linux. Vous pouvez créer différentes boîtes de dialogue faisant ressortir vos scripts avec Whiptail.

Les scripts font partie de la vie Linux, et si vous pouvez trouver un moyen de créer des interfaces utilisateur terminales qui rendent les choses plus cool, mieux c'est. Ce guide discutera de l'utilisation de Whiptail et de ses différentes boîtes de dialogue avec des exemples. Commençons.

Installation de Whiptail

Installez Whiptail à l'aide de la commande suivante:

$ sudo apt install whiptail

boîtes à whiptail

Lorsque vous utilisez Whiptail, il existe différentes boîtes à votre disposition. Nous en discuterons avec des exemples. Chaque boîte Whiptail doit spécifier la taille de la boîte de dialogue.

Messagerie

Une boîte de message affiche un message au lecteur et n'a qu'un bouton OK car aucune réponse n'est nécessaire. De plus, l'exécution du script ne peut procéder qu'une seule fois lorsque le bouton Entrée est appuyé sur.

$ whiptail --msgbox "Un exemple de boîte de message. Appuyez sur OK pour continuer."10 50

Les 10 et 50 représentent la largeur et la hauteur.

Boîte oui / non

Où vous devez obtenir la réponse de l'utilisateur avec un Oui ou Non Avant de continuer, utilisez le -Oui Non option.

Vous pouvez créer un script bash comme illustré ci-dessous, puis l'enregistrer, le faire exécutable et l'exécuter:

Voici la boîte whiptail oui / non.

La sortie qui s'affiche sur le terminal dépend de ce que l'utilisateur choisit.

Zone de texte

Vous pouvez afficher le contenu d'un fichier à l'aide d'une zone de texte. Si le contenu du fichier est suffisant et doit être défilé, vous pouvez ajouter le -texte de défilement option.

Dans notre cas, nous ouvrirons un fichier, whiptail.SMS.

$ whiptail --textbox - ScrollText Whiptail.txt 10 50

Pour fermer la zone de texte, cliquez sur la touche Entrée une fois que le bouton OK est mis en surbrillance.

Barre de progression

La syntaxe pour créer une barre de progression est:

$ - Gaume

Vous devez définir le nom de la barre de progression et le pourcentage. Ensuite, incluez où démarrer le comptoir. Dans notre cas, notre compteur commence de 0 à 100. Nous utiliserons une boucle de temps pour incrémenter le comptoir de 15 et définir un temps de sommeil de 1 seconde avant l'incrément suivant.

La barre de progrès doit ressembler à l'image fournie ci-dessous:

Boîte de mot de passe

Lorsque vous avez besoin de l'utilisateur pour saisir un mot de passe dans une boîte d'entrée et masquer le texte brut, utilisez le -boîte de passe Pour créer une boîte de mot de passe.

$ whiptail - title "Entrez votre mot de passe" - Passwordbox "Choisissez un mot de passe fort" 10 50

Le -titre L'option ajoute un titre à la boîte Whiptail.

Une fois que vous avez saisi le mot de passe et appuyez sur le bouton OK, le mot de passe entré sera affiché sur la ligne de commande.

Zone de saisie

Vous pouvez obtenir la saisie de l'utilisateur lors de l'écriture d'un script et l'enregistrer pour une utilisation avec d'autres choses. Cependant, Whiptail envoie une entrée au stderr. Par conséquent, vous devez inverser la direction de l'entrée pour afficher stdout plutôt. Pour y parvenir, vous devez ajouter 3> & 1 1> & 2 2> & 3.

Créons un script bash qui demande aux utilisateurs d'entrer leur nom, puis de l'affichage avec un message de bienvenue à l'aide d'une boîte de message.

Exécutez le script. La sortie doit d'abord être une boîte d'entrée, puis une boîte de message.

La zone de message affichera le nom entré.

Boîte de menu

L'utilisateur doit uniquement appuyer sur la touche Entrée pour une barre de menu pour sélectionner un élément de menu. De plus, aucun élément par défaut n'est défini. L'article sélectionné est renvoyé à Stderr.

La sortie sera:

Boîte de radioliste

Lorsque l'utilisateur doit sélectionner une seule option, vous pouvez choisir d'utiliser un radioliste.

Nous allons créer une liste d'options, où l'utilisateur ne peut en sélectionner qu'un. L'élément sélectionné sera affiché sur la ligne de commande. appuie sur le barre d'espace puis appuyez sur la touche Entrée pour choisir un élément.

La sortie s'affiche sur la ligne de commande suivante:

Cocher la liste

Il fonctionne de la même manière qu'un radioliste, mais vous pouvez sélectionner plus d'un élément avec la liste de contrôle. De plus, vous pouvez définir les valeurs par défaut en les définissant SUR.

Notre affichage de la liste de contrôle:

Le résultat:

Conclusion

Whiptail vous propose différentes boîtes de dialogue pour diverses activités. Dans cet article, nous avons couvert la plupart des boîtes Whiptail que vous pouvez utiliser. La façon dont vous choisissez d'afficher la sortie des scripts est entièrement basée sur votre préférence. Cependant, vous pouvez utiliser la ligne de commande ou les boîtes Whiptail à condition que cela fonctionne pour vous. Consultez également la page Whiptail Man et le site Web de Linuxhint pour plus de conseils.