Dialog: So erstellen Sie Menüs in Ihren Skripten

Dialog, mensajebox, Pünktchen, backtittle, Skript, Titel, heftiger Schlag, debian, ubuntu

Dialog ist ein Befehl von GNU / Linux, die Sie Dialogfelder im Terminal erstellen können Sie in Ihren Scripts verwenden Programmierung, Ich werde Ihnen zeigen, wie man diesen Befehl zu verwenden,.

Für die Realisierung dieses Artikels Befehl, den ich basadoen das Handbuch und auf den folgenden Internetseiten geben, meinen aufrichtigen Dank an die Macher.

http://ovtoaster.com/scripts-en-linux-con-estilo/
http://linuxgazette.net/101/sunil.html

Die Farben in Anwendungen und Systemen

geschriebene Texte in der Kommandozeile: blau
Ausgabe in der Befehlszeile: Verde
Dateinamen und Dateiinhalt: braun

Installation Dialog

So verwenden Sie dieses Werkzeug in linux erste, was zu tun ist, installieren

Ubuntu

sudo apt-get install Dialog

Debian

apt-get install Dialog

Roter Hut

yum install Dialog

Suse

zypper installieren Dialog

Syntax

Für Boxen mit nur einer Option.

so <Breite-of-Box> <Top-of-box> wenn wir durch numerische Werte dargestellt 0 Sie entsprechen Inhalt.

Dialog <Optionen-common> <Feldoptionen> <Breite-of-Box> <Top-of-box>

Beispiel:

Dialog --title "Titel"  --ja Nein "Wie die roten?" 0 0

Für Fälle mit mehreren Optionen

Es ist nur für Typ-Boxen-Checkliste, Menü oder radio. wenn wir 0 in <Nummer-of-Optionen-sichtbar> es stellt sich automatisch auf die Anzahl der Optionen.

Dialog <Optionen-common> <Feldoptionen> <Breite-of-Box> <Top-of-box> <Nummer-of-Optionen-sichtbar>.

Beispiel:

Dialog --checklist "Wählen Sie die gewünschten Optionen:" 0 0 0  1 Käse auf 2 "Senf" auf  3 Sardellen aus

allgemeine Optionen

Sie sind Optionen, die in den meisten Arten von Dialogfeldern vorhanden sind “Dialog” Die häufigsten sind die folgenden:

 

Wertpapiere

Dialog, mensajebox, Pünktchen, backtittle, Skript, Titel, heftiger Schlag, debian, ubuntu

–Titel

Es wird verwendet, um den Dialog Titel zu setzen.

–backtitle

Es ist der Titel des Fensters Hintergrund.

Ändern Sie Text, Schaltflächen

–Ja-Label

Ändern Sie das Wort YES in den Dialogfeldern für Ihren Wunsch.

–OK–Etikette

Ändern Sie das Wort OK in den Dialogfeldern für Ihren Wunsch.

–Abbrechen-label

Ändern Sie das Wort CANCEL der Dialogfelder für Ihren Wunsch.

–Exit-label

Ändern Sie das Wort EXIT der Dialogfelder für Ihren Wunsch.

–No-Label

Ändern Sie das Wort NEIN in den Dialogfeldern für Ihren Wunsch.

–Winkel

Entfernen Sie die OK-Taste im Dialogfeld, das Sie eingeben müssen, drücken eingeben.

Befehlsausgabe

Diese Variablen können Sie entscheiden, wo werden die getroffenen Entscheidungen in der Befehl wird standardmäßig stderr, wenn wir ihn Bildschirm bekommen.

–stderr

Befehlsausgabe nach stderr, wenn wir diese Option wählen, können die Ausgabe in eine Datei erhalten, indem am Ende der Zeile des Dialogs Hinzufügen:

2><wo die Ausgabedatei zu speichern>

–stdout

Mit dieser Option werden wir die Befehlsausgabe ich an, wenn ich in einer Variablen Befehl gespeichert werden soll, wollen aber nicht in eine temporäre Datei geschrieben werden, später in den Beispielen werden wir sehen, wie.

 

Feld Optionen

Message Box (–msgbox)

Dialog, mensajebox, Pünktchen, backtittle, Skript, Titel, heftiger Schlag, debian, ubuntu

Es dient eine Meldung auf dem Bildschirm zu legen, bis die Presse Benutzer eingeben.

Dialog --title "Titel" --msgbox "Hallo Welt" 0 0

Menü JA / NEIN (–ja Nein)

Dialog, ja Nein, Skript, heftiger Schlag, debian, ubuntu

Es dient Fragen mit Antwort zu beantworten JA / NEIN, wenn die Antwort JA zurückkehrt 0 Wenn die Antwort NEIN zurückkehrt 1

Dialog --title "Titel"  --ja Nein "Wie die roten?" 0 0

Infobox (–infobox)

Dialog, infobox, Skript, Titel, heftiger Schlag, debian, ubuntu

In diesem Feld werden Informationen, die wir wollen, ist wünschenswert, einen Schlaf hinzufügen (Warten x Sekunden fortzusetzen Befehl) es sehen können.

Dialog --infobox "warten 4 Sekunden" 0 0 ; Schlaf 4

Stoffauflauf (–Eingabefeld)

Dialog, Eingabefeld, Skript, Titel, heftiger Schlag, debian, ubuntu

Es wird verwendet, um Daten zu sammeln.

 Dialog --title "Name" --Eingabefeld "Setzen Sie Ihren Namen:" 0 0

Feld Kennwort (–PasswordBox)

Dialog, PasswordBox, Skript, heftiger Schlag, debian, ubuntu

Sie ist gleich dem Eingabefeld aber die eingegebenen Zeichen werden nicht angezeigt,.

 Dialog --title "Kennwort" --PasswordBox "Setzen Sie Ihr Passwort:" 0 0

Box (–Textfeld)

Dialog, tesxtbox, Skript, heftiger Schlag, debian, ubuntu, linux, GNU / Linux

Die Box ist ein Datei-Viewer und zeigt uns die Datei, die Sie angeben,.

Dialog --title "fstab" --Textbox / etc / fstab 0 0

Box-Menü (–Menü)

Dialog, Menü, Skript, heftiger Schlag, debian, ubuntu, linux, GNU / Linux, Menüfeld

Es erlaubt uns, eine Option unter mehreren nummerierten Optionen zur Auswahl

Dialog --menu "Die beste Tortilla:" 0 0 0 1 "mit Zwiebeln" 2 "ohne Zwiebel" 3 "mit piminetos" 

Box-Checkliste (–Kontroll-Liste)

Dialog, Kontroll-Liste, Skript, heftiger Schlag, debian, ubuntu, linux, GNU / Linux

Es ist ein Menü mit mehreren Optionen, die wir mehrere wählen können. Die Put-Optionen in auf Sie werden setzen in beleuchtet und werden aus gelöscht.

Dialog --checklist "Wählen Sie die gewünschten Optionen:" 0 0 0  1 Käse auf 2 "Senf" auf  3 Sardellen aus

Eine besondere Erwähnung innerhalb Checkliste für die Option –getrennte-Ausgabe, die uns eine Linie für jede Auswahl sehr nützlich für das Ausführen verschiedener Befehle für jede Auswahl getroffen kehrt gemacht.

Box radio (–radio)

Dialog, radio, Skript, heftiger Schlag, debian, ubuntu, linux, GNU / Linux

Es ist ein Menü mit mehreren Optionen, die wir ein nur wählen können.

Dialog --radiolist "Wählen Sie Ihre Lieblings-Omelett:" 0 0 0 1 "mit Zwiebel" aus  2 "Keine Zwiebel" auf 3 "Paprika" aus 4 "Spargel" aus

Kalender-Box (–Kalender)

Dialog, calendar, Kalender, Skript, heftiger Schlag, debian, ubuntu, linux, GNU / Linux

Es ist ein Kalender, in dem wir ein Datum auswählen können.

Dialog --title "Kalender" --Kalender "Wählen Sie einen Pfeil" 0 0

Andere Optionen Feld

Zusätzlich zu den Optionen-Box, die wir gesehen haben gibt es andere Möglichkeiten, die interessant sein könnte, um sie zu Hilfe zu kommen, zögern Sie nicht, zu wissen, verwenden.

Mann Dialog

Wie man die Daten mit Dialog erhalten verwenden

Um ein Skript, um Daten von den Dialogfeldern kompiliert wurden dort varaias Optionen-Dialog die ich gefunden habe, aber sicher zu Ihnen kommen, es wird nicht zu comunicarmelas mehr zögern und fügen Sie in der Post.

Leiten Sie die Ausgabe in eine Datei-Dialog.

Wir können speichern Sie die Ausgabe des Befehls in eine Datei-Dialog, in der Regel werden wir im / tmp setzen und löschen Sie nach dem Gebrauch, dann habe ich ein Skript mit einem Beispiel erklärt.

#!/bin/bash
# Von Ignacio Alba Obaya
# http://aplicacionesysistemas.com
# Führen Sie das Dialogfenster mit 2 endet>/tmp / nombre.tmp. $$ 
# speichern sie in einem Dateinamen eingegeben.
# nicht vergessen, dass 2> leitet die Fehlerausgabe in einer Datei.
Dialog --title "Name" --Eingabefeld "Setzen Sie Ihren Namen:" 0 0 2>/tmp / nombre.tmp. $$
# Löschen Sie den Bildschirm
klar
# zeigen den gespeicherten Namen
Katze /tmp/nombre.tmp.$$
# Löschen Sie die Datei mit dem Namen
rm -f /tmp/nombre.tmp.$$
# Wir machen einen Zeilenumbruch, so dass wir nicht die Aufforderung anhäufen werden
echo -e "\n"

Speichern Sie die Antwort in einer Variablen.

Um das Ergebnis zu speichern, werden wir dies tun, indem Sie eine Funktion erstellen und von einer variablen Aufruf.

#!/bin/bash
# Von Ignacio Alba Obaya
# http://aplicacionesysistemas.com
# Speichern Sie das Ergebnis in einer Variablen Dialog
# Wir schaffen die Funktion fundialog
fundialog = ${fundialog = Dialog}
# Wir schaffen eine Variable mit dem Ausgabedatum Dialog 
# redireccinando mit Ausgabe-Dialog --stdout 
# auf die Standardausgabe, Beachten Sie, dass die Funktion zwischen 
# Akzente des Schlüssels [ wenn nicht funktioniert es nicht.
fecha = `$ fundialog --stdout --title "Kalender" --Kalender "Wählen Sie ein Datum" 0 0`
# Aufnahme zeigen Datum
echo $ date

Wie Ausgänge Checkliste zu verwalten

Wir müssen auch mehrere Ausgabeoptionen falls haben eine Checkliste, so dass jede Option Trigger verschiedene Ereignisse zu verwalten. Ein humpeln, dies zu tun, ist wie folgt:

#!/bin/bash
# Von Ignacio Alba Obaya
# http://aplicacionesysistemas.com

# Wir haben die varaible funcheck, in dem wir speichern 
# Um den Dialog mit der Option --separate-Ausgang
funcheck =(Dialog --separate-Ausgang --checklist "Wählen Sie die Gruppen, denen sie angehören:" 0 0 0)

# Wir definieren die Optionen auf dem Bildschirm
# erscheinen beleuchtet haben die wir setzen auf.
Optionen =(1 "Option 1" auf 
 2 "Option 2" aus
 3 "Option 3" aus
 4 "Option 4" aus
 5 "Option 5" auf
 6 "Option 6" aus
 7 "Option 7" aus)

# Wir schaffen die Funktion Auswahl mit Optionen laufen funcheck 
# und leitet das Ausgangssignal an den Anschluß für den nächsten Lauf
# Befehle
Auswahl = $("${funcheck[@]}" "${Optionen[@]}" 2>&1 >/dev / tty)

# reinigen Sie den Bildschirm
klar

# fügen Sie eine for-Schleife eine Befehlsfunktion ausführen 
# die Auswahl kann das Echo ändern, indem 
# irgendwelche Befehle oder Skripte
für die Auswahl in $ Auswahlen
tun
 $ Auswahl bei
 1)
 Echo "Sie entschied sich für die Option 1"
 ;;
 2)
 Echo "Sie entschied sich für die Option 2"
 ;;
 3)
 Echo "Sie entschied sich für die Option 3"
 ;;
 4)
 Echo "Sie entschied sich für die Option 4"
 ;;
 5)
 Echo "Sie entschied sich für die Option 5"
 ;;
 6)
 Echo "Sie entschied sich für die Option 6"
 ;;
 7)
 Echo "Sie entschied sich für die Option 7"
 ;;
 esac
erledigt

Schlussfolgerungen zum Dialog

Meiner Meinung nach Dialog ist eine elegante Menüs erstellen, für unsere Skripte einfach Programme für Terminal erstellen.

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 😀


Über Ignacio Alba Obaya

Microcomputer und technische Ausbildung für Beschäftigung. Liebhaber von neuen Technologien. -Manager GNU / Linux und Windows.

Lassen Sie eine Antwort