Dialog est une commande de GNU / Linux qui vous permet de créer des boîtes de dialogue dans le terminal pour vous d'utiliser dans vos scripts de programmation, Je vais vous montrer comment utiliser cette commande.
Pour la réalisation de cet article je commande basadoen le manuel et sur les sites suivants donnent mes sincères remerciements aux créateurs.
http://ovtoaster.com/scripts-en-linux-con-estilo/
http://linuxgazette.net/101/sunil.html
Les couleurs dans les applications et les systèmes
textes écrits dans la ligne de commande: bleu
Sortie dans la ligne de commande: Verde
Les noms de fichiers et le contenu du fichier: Brun
Installation de dialogue
Pour utiliser cet outil dans linux première chose que vous avez à faire est d'installer
Ubuntu
sudo apt-get install dialogue
Debian
apt-get install dialogue
Red Hat
yum de dialogue d'installation
Suse
zypper de dialogue d'installation
syntaxe
Pour les boîtes avec une seule option.
si <largeur-of-box> <top-of-box> est représentée par des valeurs numériques, si nous 0 Ils sont conformes au contenu.
dialogue <Options-common> <options de la boîte> <largeur-of-box> <top-of-box>
Exemple:
--title dialogue "titre" --Oui Non "Comme le rouge?" 0 0
Pour les cas avec de multiples options
Il est seulement pour les boîtes de type liste, menu ou radiolist. Si nous 0 dans <de nombre d'options de visible> il ajuste automatiquement le nombre d'options.
dialogue <Options-common> <options de la boîte> <largeur-of-box> <top-of-box> <de nombre d'options de visible>.
Exemple:
--checklist dialogue "Choisissez les options souhaitées:" 0 0 0 1 fromage 2 "moutarde" sur 3 anchois au large
options communes
Ce sont des choix qui sont présents dans la plupart des types de boîtes de dialogue “dialogue” les plus courantes sont les suivantes:
titres
–Titre
Il est utilisé pour mettre le titre de dialogue.
–backtitle
Il est le titre de la fenêtre arrière-plan.
Changer les boutons de texte
–oui-label
Changer le mot YES dans les boîtes de dialogue pour votre souhait.
–D'accord–étiquette
Changer le mot OK dans les boîtes de dialogue pour votre souhait.
–annuler-label
Changer le mot ANNULER des boîtes de dialogue pour votre souhait.
–exit-label
Changer le mot EXIT des boîtes de dialogue pour votre souhait.
–pas de label
Changer le mot NO dans les boîtes de dialogue pour votre souhait.
–coin
Retirer le bouton OK de la boîte de dialogue vous devez appuyez sur Entrée pour entrer.
Sortie de commande
Ces variables vous permettent de décider où seront les choix effectués dans la commande seront par stderr par défaut si l'on peut l'amener à l'écran.
–stderr
Sortie de commande pour stderr si nous choisissons cette option peut obtenir la sortie vers un fichier en ajoutant à la fin de la ligne de dialogue:
2><où enregistrer le fichier de sortie>
–stdout
Avec cette option, nous allons afficher la sortie de la commande que j'utilise quand je veux stocker dans une commande variable, mais ne veulent pas être écrit dans un fichier temporaire, plus tard dans les exemples que nous allons voir comment.
zone Options
Message Box (–msgbox)
Il sert à mettre un message sur l'écran jusqu'à ce que l'utilisateur appuyez sur Entrée.
--title dialogue "titre" --msgbox "Salut monde" 0 0
Menu OUI / NON (–Oui Non)
Il sert à répondre à des questions avec réponse OUI / NON si la réponse est OUI revient 0 Si la réponse est NON retourne 1
--title dialogue "titre" --Oui Non "Comme le rouge?" 0 0
Infobox (–infobox)
Cette boîte affiche les informations que nous voulons est souhaitable d'ajouter un sommeil (attendre x secondes pour continuer commande) pour le voir.
--infobox dialogue "attente 4 secondes" 0 0 ; dormir 4
Headbox (–zone de saisie)
Il est utilisé pour recueillir des données.
--title dialogue "nom" --zone de saisie "Mettez votre nom:" 0 0
Mot de Passe (–PasswordBox)
Elle est égale à la zone de saisie, mais les caractères tapés ne sont pas affichées.
--title dialogue "mot de passe" --PasswordBox "Mettez votre mot de passe:" 0 0
boîte (–zone de texte)
La boîte est une visionneuse de fichiers et nous montre le fichier que vous indiquez.
--title dialogue "fichier fstab" --textbox / etc / fstab 0 0
menu Box (–menu)
Elle nous permet de choisir une option parmi plusieurs options numérotées
--menu dialogue "La meilleure tortilla est:" 0 0 0 1 "avec des oignons" 2 "sans oignon" 3 "avec piminetos"
Box liste (–liste de contrôle)
Il est un menu avec plusieurs options que nous pouvons choisir plusieurs. Les options mises en sur Ils seront éclairés et à mettre en de supprimé.
--checklist dialogue "Choisissez les options souhaitées:" 0 0 0 1 fromage 2 "moutarde" sur 3 anchois au large
Une mention spéciale au sein de liste de contrôle pour l'option –séparée sortie qui nous renvoie une ligne pour chaque sélection rendue très utile pour exécuter des commandes différentes pour chaque sélection effectuée.
Box radiolist (–radiolist)
Il est un menu avec plusieurs options que nous pouvons choisir un seul.
--radiolist dialogue "Choisissez votre omelette préférée:" 0 0 0 1 "avec l'oignon" de 2 "Pas d'oignon" sur 3 "poivrons" de 4 "asperges" de
boîte de calendrier (–calendrier)
Il est un calendrier où l'on peut choisir une date.
--title dialogue "calendrier" --calendrier "Choisissez une flèche" 0 0
Autres options boîte
En plus de la boîte d'options que nous avons vu il y a d'autres options qui pourraient être intéressants à utiliser pour les connaître ne pas hésiter à venir à l'aide.
dialogue homme
Comment utiliser les données obtenues avec dialogue
Pour utiliser un script pour les données compilées par les boîtes de dialogue, il varaias dialogue des options que j'ai trouvé, mais sûrement se produire pour vous, elle ne sera pas hésiter à comunicarmelas plus et ajouter dans le poste.
Rediriger la sortie vers un dialogue de fichier.
Nous pouvons stocker la sortie de commande pour une boîte de dialogue de fichier, habituellement, nous allons mettre dans le répertoire / tmp et supprimer après utilisation, puis je mets un script avec un exemple expliqué.
#!/bin/bash
# Par Ignacio Alba Obaya
# https://aplicacionesysistemas.com
# exécuter la boîte de dialogue en mettant fin à 2>/tmp / nombre.tmp $$.
# stocker dans un nom de fichier saisi.
# rappelez-vous que 2> redirige la sortie d'erreur dans un fichier.
--title dialogue "nom" --zone de saisie "Mettez votre nom:" 0 0 2>/tmp / nombre.tmp $$.
# supprimer l'écran
clair
# affiche le nom enregistré
cat /tmp/nombre.tmp.$$
# supprimer le fichier nommé
rm -f /tmp/nombre.tmp.$$
# Nous faisons un saut de ligne afin que nous ne sommes pas amassons l'invite
echo -e "\n"
Rangez la réponse dans une variable.
Pour stocker le résultat que nous allons faire cela en créant une fonction et de l'appeler d'une variable.
#!/bin/bash
# Par Ignacio Alba Obaya
# https://aplicacionesysistemas.com
# Stocker le résultat dans une boîte de dialogue variables
# Nous créons la fonction fundialog
fundialog = ${fundialog = dialogue}
# Nous créons une variable avec la boîte de dialogue de date de sortie
# redireccinando avec boîte de dialogue de sortie --stdout
# la sortie standard, Notez que la fonction se situe entre
# accents de la clé [ sinon ça ne marche pas.
fecha = `$ fundialog --stdout --title "calendrier" --calendrier "Choisissez une date" 0 0`
# Afficher la date capturé
echo date de $
Comment gérer les sorties liste
Nous avons également besoin de gérer de multiples options de sortie ont échéant une liste de contrôle de telle sorte que chaque option de déclenchement différents événements. Un hobble pour ce faire est la suivante:
#!/bin/bash
# Par Ignacio Alba Obaya
# https://aplicacionesysistemas.com
# Nous avons créé le funcheck varaible dans lequel nous stockons
# dialogue de commande avec l'option --separate-sortie
funcheck =(dialogue --checklist --separate-sortie "Sélectionnez les groupes auxquels ils appartiennent:" 0 0 0)
# Nous définissons les options sur l'écran
# semblent allumé le, nous avons mis sur.
options =(1 "option 1" sur
2 "option 2" de
3 "option 3" de
4 "option 4" de
5 "option 5" sur
6 "option 6" de
7 "option 7" de)
# Nous créons la fonction des sélections avec des options en cours d'exécution funcheck
# et transmet la sortie à la borne pour la prochaine course
# commandes
sélections = $("${funcheck[@]}" "${Options[@]}" 2>&1 >/dev / tty)
# nettoyer l'écran
clair
# ajouter une boucle pour exécuter une fonction de commande
# las selecciones realizadas puedes cambiar el echo por
# cualquier comando o secuencias de comandos
for seleccion in $selecciones
do
case $seleccion in
1)
écho "Escogiste la opción 1"
;;
2)
écho "Escogiste la opción 2"
;;
3)
écho "Escogiste la opción 3"
;;
4)
écho "Escogiste la opción 4"
;;
5)
écho "Escogiste la opción 5"
;;
6)
écho "Escogiste la opción 6"
;;
7)
écho "Escogiste la opción 7"
;;
esac
done
Conclusiones sobre dialog
En mi opinión dialog es una forma elegante de crear menús para nuestros scripts permite de manera sencilla crear programas para terminal.
Darte las gracias por leer nuestro blog espero que te guste nuestro contenido, te pediria que no olvides dar +1 o compartir en las redes sociales, no ganamos nada con este blog y es para nosotros cada me gusta o mas 1 es una pequeña recompensa 😀
Saludos excelente post, muy bien explicado lo referente a la interfaces gráfica en la terminal linux.
fue de gran ayuda tu blog hermano, merci
ayudo*
Merci beaucoup!
c'était très utile!
Merci beaucoup, très bon blog!
Merci