dialogo: Kiel krei menuojn en via skriptoj

dialogon, mensajebox, tittle, backtittle, Script, titulo, Bash, Debian, Ubuntu

Dialogo estas komando de GNU / Linukso kiu permesas krei dialogujoj en la fina stacio por vi uzi en via skriptoj programado, Mi montros vin kiel uzi ĉi komando.

Para la realización de este articulo me he basadoen el manual del comando y en las siguientes páginas webs darles mis mas sinceros agradecimientos a los creadores.

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

La koloroj en la aplikoj kaj sistemoj

skribita tekstoj en la komandlinio: blua
Eligo en la komandlinio: verde
Dosiero nomoj kaj dosier enhavo: brunaj

instalado Dialogo

Por uzi tiun ilon en linux unua afero vi devas fari estas instali

Ubuntu

ŝvitas apt-get install dialogo

Debian

apt-get install dialogo

Ruĝa ĉapelo

yum install dialogo

Suse

zypper instali dialogo

sintakso

Por skatoloj kun nur unu opcion.

Tanto <larĝo-de-skatolo> <Alta-de-skatolo> estas reprezentita de nombra valoroj se ni 0 Ili konformas al enhavo.

dialogon <ebloj-komuna> <skatolo opcioj> <larĝo-de-skatolo> <Alta-de-skatolo>

Ekzemplo:

dialogo --title "Titolo"  --Jes Ne "Kiel la ruĝa?" 0 0

Por kazoj kun multnombraj ebloj

Nur por tipo skatoloj checklist, menuo aŭ radiolist. Se ni 0 En <nombro-de-opcioj-videbla> ĝi aŭtomate adaptiĝas al la nombro da opcioj.

dialogon <ebloj-komuna> <skatolo opcioj> <larĝo-de-skatolo> <Alta-de-skatolo> <nombro-de-opcioj-videbla>.

Ekzemplo:

dialogo --checklist "Elektu la opciojn vi volas:" 0 0 0  1 queso on 2 "mustardo" On  3 anĉovoj for

komunaj ebloj

Ili estas ebloj kiuj estas nuntempe en la plimulto tipojn de dialogujoj “dialogon” la plej ofta estas la sekvaj:

 

valorpaperoj

dialogon, mensajebox, tittle, backtittle, Script, titulo, Bash, Debian, Ubuntu

–titolo

Ĝi estas uzata por meti la dialogo titolo.

–backtitle

Estas la titolo de la fenestro fono.

Ŝanĝi tekston butonoj

–jes-etikedo

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

–bone–etikedo

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

–nuligi-etikedo

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

–eliro-etikedo

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

–neniu etikedo

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

–nook

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

komando Eligo

Ĉi tiuj variabloj permesas decidi kie la elektoj faritaj en la defaŭlta komando estos eliri la eraro produktadon se ni lasos lin ŝirmi.

–stderr

Komando produktadon al stderr se ni elektas la opcion povas ricevi la produktadon al dosiero aldonante fine de la linio de dialogo:

2><savi la eligodosiero>

–stdout

Kun ĉi opcion ni montros la eligo de la komando mi uzas kiam mi volas konservi en variablo komando sed ne volas esti skribita al provizora dosiero, poste en la ekzemploj ni vidos kiel.

 

skatolo opcioj

Mesaĝo Skatolo (–msgbox)

dialogon, mensajebox, tittle, backtittle, Script, titulo, Bash, Debian, Ubuntu

Ĝi utilas por meti mesaĝon sur la ekrano ĝis la uzanto premas eniros.

dialogo --title "titolo" --msgbox "Saluton Mondo" 0 0

Menuo JES / NE (–Jes Ne)

dialogon, Jes Ne, Script, Bash, Debian, Ubuntu

Sirve para responder preguntas con respuesta SI/NO si la respuesta es SI devuelve 0 Se la respondo estas NE revenoj 1

dialogo --title "Titolo"  --Jes Ne "Kiel la ruĝa?" 0 0

Informkesto (–informkesto)

dialogon, informkesto, Script, titulo, Bash, Debian, Ubuntu

Tiu kesto montras la informon ni volas estas dezirinda por aldoni dormo (atendante x sekundoj daŭrigi komando) por ĝin vidi.

dialogo --infobox "atendi 4 sekundoj" 0 0 ; dormo 4

Headbox (–inputbox)

dialogon, inputbox, Script, titulo, Bash, Debian, Ubuntu

Ĝi estas uzata por kolekti datumojn.

 dialogo --title "nomo" --inputbox "Metu vian nomon:" 0 0

Pasvorto skatolo (–PasswordBox)

dialogon, PasswordBox, Script, Bash, Debian, Ubuntu

Ĝi estas la sama kiel la enigo skatolo sed la karakteroj vi tajpi ne montrita.

 dialogo --title "pasvorto" --PasswordBox "Metu vian pasvorton:" 0 0

skatolo (–fenestreto)

dialogon, tesxtbox, Script, Bash, Debian, Ubuntu, Linux, GNU / linukso

La skatolo estas dosiero spektanto kaj montras al ni la dosiero indiki.

dialogo --title "fstab dosieron" --fenestreto / ktp / fstab 0 0

skatolo menuo (–menuo)

dialogon, menuo, Script, Bash, Debian, Ubuntu, Linux, GNU / linukso, menuo skatolo

Ĝi permesas nin elekti unu elekton inter pluraj numeritaj ebloj

dialogo --menu "La plej bona omleto estas:" 0 0 0 1 "kun cepojn" 2 "neniu cepojn" 3 "kun piminetos" 

skatolo checklist (–checklist)

dialogon, checklist, Script, Bash, Debian, Ubuntu, Linux, GNU / linukso

Estas menuo kun pluraj ebloj kiujn ni povas elekti plurajn. Opcioj por meti en On Ili estos lumigitaj kaj meti en Off forigita.

dialogo --checklist "Elektu la opciojn vi volas:" 0 0 0  1 queso on 2 "mustardo" On  3 anĉovoj for

Speciala mencio ene checklist por opcion –aparta-produktadon kiu revenas unu linio por ĉiu elekto farita tre utila por kuri malsamajn komandojn por ĉiu elekto farita.

skatolo radiolist (–radiolist)

dialogon, radiolist, Script, Bash, Debian, Ubuntu, Linux, GNU / linukso

Estas menuo kun pluraj ebloj kiujn ni povas elekti nur unu.

dialogo --radiolist "Elektu vian preferatan omleton:" 0 0 0 1 "kun cepojn" Off  2 "neniu cepo" On 3 "kapsikoj" Off 4 "asparagoj" Off

kalendaro skatolo (–kalendaro)

dialogon, calendar, kalendaro, Script, Bash, Debian, Ubuntu, Linux, GNU / linukso

Estas kalendaro kie ni povas elekti daton.

dialogo --title "kalendaro" --kalendaro "Elektu sago" 0 0

Aliaj ebloj skatolo

Krom la ebloj skatolo kiujn ni vidis estas aliaj ebloj kiuj povas esti interesaj por uzi scii ilin ne hezitu veni al la helpo.

viro dialogo

Kiel uzi informo akirita dialogo

Por uzi skripton datumoj kolektitaj de la dialogujoj tie varaias ebloj dialogo Mi trovis, sed certe okazas al vi ĝin sed ne hezitu comunicarmelas kaj aldoni en la post.

Alidirektila produktadon al dosiero dialogo.

Ni povas konservi la eligon de komando al dosiero dialogo, kutime ni metos en la / tmp kaj forviŝi post uzo, tiam mi metis skribo kun ekzemplo klarigis.

#!/Bin/bash
# De Ignaco Alba Obaya
# Http://aplicacionesysistemas.com
# kuri la dialogujo per finante 2>/tmp / nombre.tmp. $$ 
# konservas ĝin en dosiernomo eniris.
# memoru ol 2> alidirektilojn la eraron produktadon al dosiero.
dialogo --title "nomo" --inputbox "Metu vian nomon:" 0 0 2>/tmp / nombre.tmp. $$
# forviŝi la ekrano
klara
# montri la stokita nomon
kato /tmp/nombre.tmp.$$
# forigi la dosieron nomis
rm -f /tmp/nombre.tmp.$$
# Ni faras linion ripozon por ke ni ne amasigi la prompto
echo -e "\N"

Stokante la respondo en variablo.

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

#!/Bin/bash
# De Ignaco Alba Obaya
# Http://aplicacionesysistemas.com
# Dialogo vendejo la rezulto en variablo
# ni kreis la funkcio fundialog
fundialog = ${fundialog = dialogo}
# Ni krei variablon dato kun produktado dialogo 
# redireccinando kun --stdout produktadon dialogo 
# al stdout, Notu ke la funkcio estas inter 
# akcentoj de la ŝlosilo [ se ne ĝi ne funkcias.
Fecha = '$ fundialog --stdout --title "kalendaro" --kalendaro "Elekti daton" 0 0`
# Montri kaptita daton
eĥo $ daton

Como gestionar salidas de checklist

Ni ankaŭ devas administri plurajn eligo ebloj QUAD ni checklist por ke ĉiu opcio deĉenigi malsamaj okazaĵoj. Al kateno fari tion estas la jena:

#!/Bin/bash
# De Ignaco Alba Obaya
# Http://aplicacionesysistemas.com

# Ni kreis la varaible funcheck en kiu ni stokas 
# Por dialogo kun la opcio --separate-produktado
funcheck =(dialogo --separate-produktadon --checklist "Elektu la grupoj ili apartenas:" 0 0 0)

# Ni difini la opciojn de la ekrano
# aperas lumigis la ni surmetis.
ebloj =(1 "elekto 1" On 
 2 "elekto 2" Off
 3 "elekto 3" Off
 4 "elekto 4" Off
 5 "elekto 5" On
 6 "elekto 6" Off
 7 "elekto 7" Off)

# Ni kreas la funkcion elektojn kun ebloj kurante funcheck 
# kaj plusendas la produktadon al la fina stacio por la venonta kuro
# komandojn
elektojn = $("${funcheck[@]}" "${opcioj[@]}" 2>&1 >/dev / tty)

# purigi la ekrano
klara

# aldoni por kuri komando funkcio 
# la elektojn povas ŝanĝi la eĥon de 
# ajna komandojn aŭ skriptoj
por elekto en $ elektojn
fari
 $ Kazo elekto en
 1)
 #?Eti "Vi elektis la opcion 1"
 ;;
 2)
 #?Eti "Vi elektis la opcion 2"
 ;;
 3)
 #?Eti "Vi elektis la opcion 3"
 ;;
 4)
 #?Eti "Vi elektis la opcion 4"
 ;;
 5)
 #?Eti "Vi elektis la opcion 5"
 ;;
 6)
 #?Eti "Vi elektis la opcion 6"
 ;;
 7)
 #?Eti "Vi elektis la opcion 7"
 ;;
 esac
farita

Konkludoj sur Dialogo

Miaopinie dialogo estas eleganta maniero por krei menuojn por niaj skriboj povas facile krei programojn por terminalo.

Dankon por legi nian blogon esperas ke vi ŝatas nian enhavon, Mi volas starigi ankoraŭ ne forgesi +1 aŭ dividi en sociaj retoj, oni ne povas atingi kun ĉi tiu blogo kaj mi ŝatas por ni ĉiu aŭ pli 1 es una pequeña recompensa 😀


About Ignacio Alba Obaya

T?Cnico microinform?Tico kaj formador por la posteno. Amanto de la novaj tecnol?Gias. Administra de GNU/Linukso kaj Vindozo.

Leave al Reply