dialog: Cum de a crea meniuri în script-urile dvs.

dialog, mensajebox, fir, backtittle, scenariu, titlu, bash, debian, ubuntu

Dialog este o comandă de GNU / Linux, care vă permite să creați casete de dialog în terminal pentru tine de a utiliza în script-urile de programare, O să-ți arăt cum să utilizați această comandă.

Pentru realizarea acestui articol am de comanda basadoen manual și pe următoarele site-uri dau mulțumirile mele sincere creatorilor.

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

Culorile în aplicații și sisteme

texte scrise în linia de comandă: albastru
Ieșire în linia de comandă: Verde
Numele de fișiere și conținutul fișierului: maro

Dialog de instalare

Pentru a utiliza acest instrument în primul lucru pe Linux ce trebuie să faceți este să instalați

Ubuntu

sudo apt-get install de dialog

Debian

apt-get install de dialog

Palarie rosie

yum install de dialog

Suse

Zypper dialog Instalare

sintaxă

Pentru cutii cu o singură opțiune.

Tanto <lățime-of-box> <Înaltă de-box> este reprezentată de valori numerice, dacă 0 Acestea sunt conforme cu conținutul.

dialog <opțiuni comune> <opţiuni de box> <lățime-of-box> <Înaltă de-box>

Exemplu:

--title de dialog "titlu"  --da nu "La fel ca și roșu?" 0 0

Pentru cazurile cu mai multe opțiuni

Este numai pentru cutii de tip listă de verificare, meniu sau radiolist. Dacă ne 0 în <numărul-de-opțiuni vizibile> ajustează automat la numărul de opțiuni.

dialog <opțiuni comune> <opţiuni de box> <lățime-of-box> <Înaltă de-box> <numărul-de-opțiuni vizibile>.

Exemplu:

--checklist de dialog "Alegeți opțiunile dorite:" 0 0 0  1 queso on 2 "muștar" pe  3 anșoa off

opțiuni comune

Acestea sunt opțiuni care sunt prezente în cele mai multe tipuri de casete de dialog “dialog” cele mai frecvente sunt următoarele:

 

titluri de valoare

dialog, mensajebox, fir, backtittle, scenariu, titlu, bash, debian, ubuntu

–titlu

Este folosit pentru a pune titlul de dialog.

–backtitle

Este titlul fundalului ferestrei.

Schimbarea butoane de text

–da-etichetă

Cambia la palabra YES de los cuadros de dialogo por la que tu desees.

–bine–eticheta

Cambia la palabra OK de los cuadros de dialogo por la que tu desees.

–anulați eticheta

Cambia la palabra CANCEL de los cuadros de dialogo por la que tu desees.

–exit-label

Cambia la palabra EXIT de los cuadros de dialogo por la que tu desees.

–fara eticheta

Cambia la palabra NO de los cuadros de dialogo por la que tu desees.

–colţ

Quita el botón de OK del cuadro de dialogo hay que pulsar enter para entrar.

Comanda de ieșire

Aceste variabile vă permit să decidă în cazul în care se vor alegerile făcute în comanda implicită va ieși de ieșire de eroare dacă putem să-l la ecran.

–stderr

Ieșirea de comandă pentru stderr dacă vom alege această opțiune se poate obține de ieșire într-un fișier prin adăugarea la sfârșitul liniei de dialog:

2><pentru a salva fișierul de ieșire>

–stdout

Cu această opțiune, vom afișa rezultatele comenzii am folosi atunci când vreau să stocați într-o comandă variabilă, dar nu doresc să fie scrise într-un fișier temporar, mai târziu, în exemple, vom vedea cum.

 

opţiuni de Box

Caseta mesaj (–MsgBox)

dialog, mensajebox, fir, backtittle, scenariu, titlu, bash, debian, ubuntu

Acesta servește pentru a pune un mesaj pe ecran până când utilizatorul apasă introduceți.

--title de dialog "titlu" --MsgBox "Hello World" 0 0

Meniu DA / NU (–da nu)

dialog, da nu, scenariu, bash, debian, ubuntu

Sirve para responder preguntas con respuesta SI/NO si la respuesta es SI devuelve 0 În cazul în care răspunsul este NU se întoarce 1

--title de dialog "titlu"  --da nu "La fel ca și roșu?" 0 0

infobox (–infobox)

dialog, infobox, scenariu, titlu, bash, debian, ubuntu

Această casetă afișează informațiile pe care le dorim este de dorit să se adauge un somn (așteptare x secunde pentru a continua comanda) pentru ao vizualiza.

--infobox de dialog "așteaptă 4 secunde" 0 0 ; dormi 4

cutia de capăt (–InputCasuta)

dialog, InputCasuta, scenariu, titlu, bash, debian, ubuntu

Acesta este utilizat pentru a colecta date.

 --title de dialog "nume" --InputCasuta "Pune numele tau:" 0 0

caseta pentru parolă (–PasswordBox)

dialog, PasswordBox, scenariu, bash, debian, ubuntu

Este la fel ca caseta de intrare, dar caracterele pe care le tip nu sunt afișate.

 --title de dialog "parolă" --PasswordBox "Pune parola:" 0 0

cutie (–casetă de text)

dialog, tesxtbox, scenariu, bash, debian, ubuntu, linux, GNU / Linux

Cutia este un vizualizator de fișiere și ne arată fișierul pe care îl indicați.

--title de dialog "fstab" --textbox / etc / fstab 0 0

meniul Box (–meniul)

dialog, meniul, scenariu, bash, debian, ubuntu, linux, GNU / Linux, caseta de meniu

Ea ne permite să aleagă o singură opțiune dintre mai multe opțiuni numerotate

--menu de dialog "Cel mai bun tortilla este:" 0 0 0 1 "cu ceapa" 2 "fără ceapă" 3 "cu piminetos" 

Caseta listă de verificare (–Lista de verificare)

dialog, Lista de verificare, scenariu, bash, debian, ubuntu, linux, GNU / Linux

Este un meniu cu mai multe opțiuni pe care le putem alege mai multe. Opțiuni pentru a pune în pe Acestea vor fi aprinse și pentru a pune în de pe eliminat.

--checklist de dialog "Alegeți opțiunile dorite:" 0 0 0  1 queso on 2 "muștar" pe  3 anșoa off

O mențiune specială în termen de listă de verificare pentru opțiunea –-Ieșire separată care returnează o linie pentru fiecare selecție făcută foarte util pentru rularea comenzi diferite pentru fiecare selecție făcută.

Caseta radiolist (–radiolist)

dialog, radiolist, scenariu, bash, debian, ubuntu, linux, GNU / Linux

Este un meniu cu mai multe opțiuni pe care le putem alege doar un singur.

--radiolist de dialog "Alege omletă tau preferat:" 0 0 0 1 "cu ceapa" de pe  2 "Nici o ceapa" pe 3 "ardei" de pe 4 "asparagus" de pe

cutie calendar (–calendar)

dialog, calendar, calendar, scenariu, bash, debian, ubuntu, linux, GNU / Linux

Este un calendar în care putem alege o dată.

--title de dialog "calendar" --calendar "Alegeți o săgeată" 0 0

cutie Alte opțiuni

În plus față de caseta de opțiuni pe care le-am văzut, există și alte opțiuni care ar putea fi interesant de a utiliza pentru a le știu, nu ezitați să vină în ajutorul.

dialog om

Cum se utilizează datele obținute de dialog

Pentru a utiliza o serie de date colectate de script casetele de dialog există opțiuni de dialog varaias l-am găsit, dar cu siguranță au loc pentru tine, dar ea nu ezitați să comunicarmelas și se adaugă în post.

Redirecționeze ieșirea într-un fișier de dialog.

Putem stoca de ieșire de comandă într-un fișier de dialog, de obicei, vom pune în / tmp și șterge după utilizare, apoi am pus un script cu un exemplu explicat.

#!/bin/bash
# De Ignacio Alba Obaya
# http://aplicacionesysistemas.com
# rula caseta de dialog prin care se încheie 2>/tmp / nombre.tmp. $$ 
# păstrați într-un nume de fișier introdus.
# amintiți-vă de 2> redirecționează de ieșire de eroare într-un fișier.
--title de dialog "nume" --InputCasuta "Pune numele tau:" 0 0 2>/tmp / nombre.tmp. $$
# șterge ecranul
clar
# arată numele stocat
pisica /tmp/nombre.tmp.$$
# ștergeți fișierul cu numele
rm -f /tmp/nombre.tmp.$$
# Facem o pauză de linie, astfel încât să nu se adune prompt
echo -e "\n"

Stocarea răspunsului într-o variabilă.

Para almacenar el resultado lo realizaremos creando una función y llamandola desde una variable.

#!/bin/bash
# De Ignacio Alba Obaya
# http://aplicacionesysistemas.com
# magazin Dialog rezultatul într-o variabilă
# am creat fundialog funcția
fundialog = ${fundialog = dialog}
# Vom crea o dată variabilă cu ieșire de dialog 
# redireccinando cu ieșire de dialog --stdout 
# la stdout, Rețineți că funcția este între 
# accente ale cheii [ în cazul în care nu nu funcționează.
Fecha = `$ fundialog --stdout --title "calendar" --calendar "Alegeți o dată" 0 0`
# Afișați data capturat
data $ echo

Como gestionar salidas de checklist

De asemenea, trebuie să gestioneze mai multe opțiuni de ieșire QUAD avem o listă de control, astfel încât fiecare opțiune de a declanșa diferite evenimente. O fetter de a face acest lucru este după cum urmează:

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

# Am creat funcheck varaible în care stocăm 
# dialog comandă cu opțiunea --separate-ieșire
funcheck =(dialog --checklist --separate-ieșire "Selectați grupurile din care fac parte:" 0 0 0)

# Definim opțiunile de pe ecran
# apar aprins ne-am pus pe.
opțiuni =(1 "opțiune 1" pe 
 2 "opțiune 2" de pe
 3 "opțiune 3" de pe
 4 "opțiune 4" de pe
 5 "opțiune 5" pe
 6 "opțiune 6" de pe
 7 "opțiune 7" de pe)

# Vom crea selecțiile funcționale cu opțiuni de rulare funcheck 
# și transmite de ieșire la terminalul pentru a alerga următoare
# comenzi
selecții = $("${funcheck[@]}" "${opțiuni[@]}" 2>&1 >/dev / tty)

# curățați ecranul
clar

# adăugați o pentru a rula o funcție de comandă 
# selecțiile se pot schimba prin ecoul 
# orice comenzi sau scripturi
pentru selecția în $ selecții
face
 $ Caz de selecție în
 1)
 ecou "Ai ales opțiunea 1"
 ;;
 2)
 ecou "Ai ales opțiunea 2"
 ;;
 3)
 ecou "Ai ales opțiunea 3"
 ;;
 4)
 ecou "Ai ales opțiunea 4"
 ;;
 5)
 ecou "Ai ales opțiunea 5"
 ;;
 6)
 ecou "Ai ales opțiunea 6"
 ;;
 7)
 ecou "Ai ales opțiunea 7"
 ;;
 ESAC
Terminat

Concluzii privind Dialog

În opinia mea de dialog este un mod elegant de a crea meniuri pentru script-uri noastre pot crea cu ușurință programe pentru terminale.

Vă mulțumim pentru lectură blog-ul nostru sperăm că vă place conținutul nostru, 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 😀


Despre Ignacio Alba Obaya

Microcomputer tehnic și antrenor pentru ocuparea forței de muncă. Iubitor de noi tehnologii. Manager de GNU / Linux și Windows.

Lasă un Răspuns