Création d'une boîte de dialogue de script shell interactif

Lorsque vous installez un nouveau logiciel dans un environnement terminal, vous pouvez souvent voir encadré d'information apparaît, vous avez besoin de votre entrée, tels que: RHEL / CentOS est livré avec la configuration, tapez la boîte de dialogue de mot de passe, check-list, menus, etc. . Ils peuvent vous guider de manière intuitive pour saisir les informations nécessaires, l'utilisation d'un tel avantages de dialogue conviviaux sont évidents. Comme indiqué ci-dessous:

Lorsque vous écrivez un script shell interactif, vous pouvez utiliser cette boîte de dialogue pour accepter l'entrée de l'utilisateur. whiptail peut créer terminaux à base de dialogue dans un script shell, le processus de la boîte de message, semblable à un code de script GUI Zenity ou xdialog. whiptail pré-installé sur toute la distribution Linux.

Créer une boîte de message

Une boîte de message affiche un bouton pour continuer une confirmation de message texte.

syntaxe:

whiptail --title " < Titre de la boîte de message > "--Msgbox" < de texte pour montrer > " < hauteur >   < largeur >  

exemple:

#! / Bin / bash

whiptail --title "Test boîte de message" --msgbox "Créer une boîte de message avec whiptail. Choisissez Ok pour continuer." 1060

Création d'un oui / non

Oui ou pas de dialogue d'entrée utilisateur.

syntaxe:

whiptail --title " < Titre de la boîte de dialogue > "--Yesno" < de texte pour montrer > " < hauteur >   < largeur >

exemple:

#! / Bin / bash

si (whiptail --title « Test Oui / non » --yesno « Choisissez entre Oui et Non » 1060), puis

 echo « Vous avez choisi Oui. état de sortie était $? ».

d'autre

 echo « Vous avez choisi Non état de sortie était $? ».

fi

Ou, vous pouvez être "--yes-bouton", - option "no-bouton".

#! / Bin / bash

si (whiptail --title "Test Oui / non" --yes bouton "Skittles" --no-bouton --yesno "M & M" "qui préfères-tu?" 1060), puis

 echo « Vous avez choisi le statut Skittles était sortie $? ».

d'autre

 echo "Vous avez choisi de M & M. statut de sortie était $?".

fi

Créer une zone d'entrée de forme

Si vous voulez que l'utilisateur d'entrer le texte, vous pouvez utiliser une boîte d'entrée.

syntaxe:

 whiptail --title " < Titre de la boîte d'entrée > "--Inputbox" < de texte pour montrer > " < hauteur >   < largeur >   < default-texte >

exemple:

#! / Bin / bash

PET = $ (whiptail --title "Test de forme libre d'entrée Box" --inputbox "Quel est le nom de votre animal de compagnie?" 1060 Wigglebutt 3 > & 11 > & 22 > Et 3)

exitstatus = $?

si <$ exitstatus = 0>, puis

 echo "Votre nom animal est:" $ PET

d'autre

 echo « Vous avez choisi Annuler ».

fi

Créer une boîte de mot de passe

Lorsque l'utilisateur doit entrer un mot de passe de boîte des informations sensibles est utile.

syntaxe:

whiptail --title " < boîte de mot de passe titre > "--Passwordbox" < de texte pour montrer > " < hauteur >   < largeur >

exemple:

#! / Bin / bash

MOT DE PASSE = $ (whiptail --title "Mot de passe test Box" --passwordbox "Entrez votre mot de passe et cliquez sur OK pour continuer." 10603 > & 11 > & 22 > Et 3)

exitstatus = $?

si <$ exitstatus = 0>, puis

 echo « Votre mot de passe est: » Mot de passe $

d'autre

 echo « Vous avez choisi Annuler ».

fi

Créer une barre de menu

Lorsque vous voulez que l'utilisateur de sélectionner un nombre arbitraire d'options, vous pouvez utiliser la boîte de menu.

syntaxe:

 whiptail --title " < titre de menu > "--Menu" < de texte pour montrer > " < hauteur >   < largeur >   < hauteur de menu >  < < étiquette >   < article >  > ...

exemple:

#! / Bin / bash

OPTION = $ (whiptail --title "Menu de dialogue Test" --menu "Choisissez votre option" 15604 \

"1" "saucisse de Spicy grillé" \

"2" "grillé halloumi fromage" \

"3" "Charcoaled Ailes de poulet" \

"4" "frit Aubergine" 3 > & 11 > & 22 > Et 3)

exitstatus = $?

si <$ exitstatus = 0>, puis

 echo "Votre option choisie:" $ OPTION

d'autre

 echo « Vous avez choisi Annuler ».

fi

Radiolist créer de dialogue

syntaxe:

 whiptail --title " < titre radiolist > "--Radiolist" < de texte pour montrer > " < hauteur >   < largeur >   < hauteur de la liste >  < < étiquette >   < article >   < statut >  > ...

exemple:

#! / Bin / bash

Distros = $ (whiptail --title "Test Liste de dialogue" --radiolist \

« Qu'est-ce que la distribution Linux de votre choix? » 15604 \

"Debian" "Vénérable Debian" ON \

OFF "Ubuntu" "Ubuntu populaire" \

OFF "Centos" "stable de CentOS" \

OFF "Mint" "Rising Star Mint" 3 > & 11 > & 22 > Et 3)

exitstatus = $?

si <$ exitstatus = 0>, puis

 echo "Le distro choisi est:" $ Distros

d'autre

 echo « Vous avez choisi Annuler ».

fi

Création d'une boîte de dialogue de table

Lorsque vous voulez que l'utilisateur de sélectionner une zone de liste pour sélectionner la liste des options multiples est utile, boîte de dialogue radiolist, ce qui permet de sélectionner un seul.

syntaxe:

 whiptail --title " < titre de check-list > "--Checklist" < de texte pour montrer > " < hauteur >   < largeur >   < hauteur de la liste >  < < étiquette >   < article >   < statut >  > ...

exemple:

#! / Bin / bash

Distros = $ (whiptail --title "Test Liste de dialogue" --checklist \

"Choisissez Linux distros préférés" 15604 \

"Debian" "Vénérable Debian" ON \

OFF "Ubuntu" "Ubuntu populaire" \

"Centos" "Stable" ON CentOS \

OFF "Mint" "Rising Star Mint" 3 > & 11 > & 22 > Et 3)

exitstatus = $?

si <$ exitstatus = 0>, puis

 echo "Votre distros préférées sont:" $ Distros

d'autre

 echo « Vous avez choisi Annuler ».

fi

Création d'une barre de progression

La barre de progression est une boîtes de dialogue conviviales. whiptail lu à partir de l'entrée standard en pourcentage (0 à 100), affiche une table de comptage correspondant.

syntaxe:

whiptail --gauge " < test spectacle > " < hauteur >   < largeur >   < inital pour cent >

exemple:

#! / Bin / bash

{

 pour ((i = 0; i < = 100; i + = 20)); faire

 sommeil 1

 echo $ i

 fini

} | Whiptail --gauge "S'il vous plaît patienter pendant l'installation" 6600

Daimler se divisera en trois entreprises sur la façon dont une grande influence en Chine?
Précédent
Acheter 510, etc., plus que la date de bon augure SUV4, ainsi que la transmission automatique victoire Intérieur ZS
Prochain
Sud principale année Zuozhuang biologique après la suspension a exposé la liste des actionnaires marques de capital régresse
2018 Je me dérange le plus de la valeur d'achat est recommandé dans la voiture
WEY éviter la colère haine la joint-venture, les principaux grammes de techniques comment le bétail?
Chambres d'hôtes Assemblée générale | Deqing « -Lok étranger » Comment faire?
Panneau d'affichage: Foshan Ombre coup de pied partage souvent en aluminium, soutenir la famille Gejia l'inspiration de conception d'entrepôt
La face frontale de 500000, plus de 800000 mode S-classe intérieur, en fait, ce VUS intermédiaire aussi longtemps que 110000
Chambres d'hôtes Assemblée générale | montée de la vie de loisirs, promouvoir le grand développement de l'industrie B & B
break Mercedes-Benz large et toxique pour les véhicules C63 AMG ne change pas!
Les pneus standard ESP, légèrement plus grand que la H6, garantie 8 ans à moins de 80000 sur la gamme Tiguan
Les prix du porc a conduit sept stocks limite quotidienne
Ce n'est pas votre plat est une version modifiée voyage IS300
Replay limite quotidienne - adapté pour acheter bas vendre haut marché à court terme