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.
Por realigo de ĉi tiu artikolo mi fidis la komandan manlibron kaj sur la sekvaj retpaĝoj donas mian plej sinceran dankon al la kreintoj.
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
Dialoga instalado
Por povi uzi ĉi tiun ilon en Linukso, la unua afero devas fari estas instali ĝin
Ubuntu
dialogo de sudo apt-get install
Debian
kapablo-akiri instalan dialogon
Ruĝa ĉapelo
yum instali dialogon
Suse
dialogo pri instalado de zypper
Sintakso
Por skatoloj kun nur unu eblo.
Tiom <skatolo-larĝo> <skatolo-alteco> estas reprezentita kun nombraj valoroj se ni metas 0 konformi al enhavo.
dialogo <oftaj opcioj> <skatolaj elektoj> <skatolo-larĝo> <skatolo-alteco>
Ekzemplo:
dialogo - titolo "Titolo" --Jes Ne "Vi ŝatas la Ruĝan koloron?" 0 0
Por skatoloj kun multoblaj elektoj
Ĝi estas nur por kontrolotaj tipaj skatoloj, menuo aŭ radio-listo. Se ni metas 0 En <nombro de videblaj opcioj> aŭtomate ĝustigas al la nombro de elektoj.
dialogo <oftaj opcioj> <skatolaj elektoj> <skatolo-larĝo> <skatolo-alteco> <nombro de videblaj opcioj>.
Ekzemplo:
dialogo - ĉekokisto "Elektu la eblojn, kiujn vi volas:" 0 0 0 1 fromaĝo sur 2 "Mustardo" On 3 anĉoj
Komunaj ebloj
Ili estas elektoj, kiuj estas en multaj specoj de dialogaj skatoloj. “dialogo” la plej oftaj estas jenaj:
Titoloj
–titolo
Ĝi estas uzata por doni titolon al la dialogujo.
–malantaŭa titolo
Ĝi estas la titolo ĉe la fundo de la fenestro.
Ŝanĝu tekstajn butonojn
–jes-etikedo
Ŝanĝu la vorton YES en la dialogaj skatoloj por tiu, kiun vi volas.
–bone–etiketo
Ŝanĝu la vorton OK en la dialogaj skatoloj por tiu, kiun vi volas.
–nuligi-etikedon
Ŝanĝu la vorton CANCEL en la dialogaj skatoloj por tiu, kiun vi volas.
–elirejo-etikedo
Ŝanĝu la vorton EXIT en la dialogaj skatoloj por tiu, kiun vi volas.
–ne-etikedo
Ŝanĝu la vorton NE en la dialogaj skatoloj por tiu, kiun vi volas.
–meko
Forigu la butonon OK el la dialogujo, premu enter por eniri.
Komando eligo
Ĉi tiuj variabloj permesas decidi, kie la elektoj elektitaj en la komando aperos defaŭlte, ili aperos per la erara eligo se ni volas, ke ni povu atingi ĝin al la ekrano.
–pli stderr
Eligo de la komando al la erara eligo se ni elektas ĉi tiun opcion ni povas akiri la rezulton al dosiero aldonanta ĉe la fino de la dialoga linio.:
2><dosiero kie konservi la rezulton>
–stdout
Per ĉi tiu opcio ĝi montros al ni la rezulton de la komando sur la ekrano, kaj mi uzas ĝin kiam mi volas stoki la komandon en variablo, sed mi ne volas forigi ĝin en provizora dosiero, poste en la ekzemploj ni vidos kiel.
Skatolaj elektoj
Mesaĝa skatolo (–msgbox)
Ĝi estas uzata por meti mesaĝon sur la ekranon ĝis la uzanto premas eniri.
dialogo - titolo "Titolo" --msgbox "Saluton mondo" 0 0
KIEL / NE menuo (–Jes Ne)
Ĝi estas uzata por respondi demandojn kun YES / NO-respondo se la respondo estas YES redonas 0 se la respondo estas NE, ĝi revenas 1
dialogo - titolo "Titolo" --Jes Ne "Vi ŝatas la Ruĝan koloron?" 0 0
Informkesto (–infobox)
Ĉi tiu skatolo montras la informojn, kiujn ni volas sur la ekrano, estas oportune aldoni dormon (komando, kiu atendas x sekundojn por daŭrigi) por povi vidi ĝin.
dialogo - infobox "Atendu 4 sekundoj" 0 0 ; dormu 4
Enira skatolo (–enirejo)
Ĝi estas uzata por kolekti datumojn.
dialogo - titolo "Nomo" --enirejo "metu vian nomon:" 0 0
Pasvorta skatolo (–pasvorto)
Ĝi estas la sama kiel la eniga skatolo sed la signoj skribitaj ne estas montritaj.
dialogo - titolo "Pasvorto" --pasvorto "Metu vian pasvorton:" 0 0
Teksto skatolo (–tekstujo)
La tekstujo estas dosiero-spektilo kaj montras al ni la dosieron, kiun ni indikis.
dialogo - titolo "arkivo fstab" --tekstujo / etc / fstab 0 0
Menujon (–menuo)
Ĝi permesas al ni elekti opcion inter pluraj numeritaj opcioj
dialogo --menuo "La plej bona omelette estas:" 0 0 0 1 "kun cepo" 2 "sen cepo" 3 "kun piproj"
Kontrolista skatolo (–kontrollisto)
Ĝi estas menuo kun pluraj ebloj, el kiuj ni povas elekti plurajn. La ebloj, kiujn ni enmetas On restos kaj tiuj, kiujn ni enmetos Off viŝita.
dialogo - ĉekokisto "Elektu la eblojn, kiujn vi volas:" 0 0 0 1 fromaĝo sur 2 "Mustardo" On 3 anĉoj
Speciala mencio ene de la checklist por la opcio –aparta eligo, kiu redonas linion por ĉiu elekto farita, tre utila por ekzekuti malsamajn komandojn por ĉiu elekto farita.
Radiolista skatolo (–radiolisto)
Ĝi estas menuo kun pluraj ebloj, el kiuj ni povas elekti nur unu.
dialogo - radiolisto "Elektu vian plej ŝatatan omelette:" 0 0 0 1 "Kun cepo" Off 2 "Sen cepo" On 3 "De kapsikoj" Off 4 "Asparago" Off
Kalendara skatolo (–kalendaro)
Ĝi estas kalendaro, kie ni povas elekti daton.
dialogo - titolo "Kalendaro" --kalendaro "Elektu sagon" 0 0
Aliaj kestaj elektoj
Krom la monaj opcioj, kiujn ni vidis, ekzistas aliaj ebloj, kiuj povas esti interesaj uzi koni ilin, ne hezitu iri al la helpo..
vira dialogo
Kiel uzi la datumojn akiritajn per dialogo
Por uzi la datumojn kolektitajn per la dialogaj skatoloj en skripto estas pluraj ebloj, kiujn mi trovis, sed certe vi povas pensi pri ili sed ne hezitu diri al mi kaj mi aldonos ilin en la afiŝo.
Alidirekta dialoga eligo al dosiero.
Ni povas stoki la rezulton de la dialoga komando al dosiero, kutime ni enmetos ĝin en la dosierujon / tmp kaj forigos ĝin post uzado de ĝi, sube mi metas skripton kun klarigita ekzemplo.
#!/Bin/bash
# De Ignacio Alba Obaya
# Https://aplikojysistemas.com
# ni ekzekutas la dialogan skatolon metante ĉe la fino 2>/tmp / nomo.tmp. $$
# ni stokas la enmetitan nomon en dosiero.
# memoru, ke 2> redirekti la eraran eliron al dosiero.
dialogo - titolo "Nomo" --enirejo "metu vian nomon:" 0 0 2>/tmp / nomo.tmp. $$
# ni viŝas la ekranon
klara
# ni montras la konservitan nomon
kato /tmp/nomo.tmp.$$
# ni forigas la dosieron kun la nomo
rm -f /tmp/name.tmp.$$
# ni faras liniopremon por ke ĝi ne amasiĝu kun la prompto
echoo -e "\N"
Stoki la respondon en variablo.
Por stoki la rezulton ni faros ĝin kreante funkcion kaj nomante ĝin de variablo.
#!/Bin/bash
# De Ignacio Alba Obaya
# Https://aplikojysistemas.com
# Vendo dialoga rezulto en variablo
# ni kreis la funkcion fundialog
fundialog = ${fundialog = dialogo}
# ni kreas datan variablon kun la eligo de dialogo
# redirektado kun - senprokraste la eligo de dialogo
# ĉe la norma elirejo, rimarku, ke la funkcio estas inter
# ŝlosilaj akcentoj [ se ne, ĝi ne funkcias.
fecha = `$ fundialog --stdout - titolo "Kalendaro" --kalendaro "Elektu daton" 0 0`
# Ni montras la kaptitan daton
e $ $ dato
Kiel administri kontrollistojn
Ni ankaŭ devas povi administri plurajn elirajn elektojn, kiam ni havas kontrolliston tiamaniere, ke ĉiu opcio ekigas malsamajn eventojn. Unu maniero fari ĉi tion estas la sekva:
#!/Bin/bash
# De Ignacio Alba Obaya
# Https://aplikojysistemas.com
# Ni kreas la ŝanĝiĝeman funcheck en kiu ni stokas la
# dialoga komando kun --separate-output-opcio
funcheck =(dialogo - separ-eligita --ĉerlisto "Elektu la grupojn, al kiuj ĝi apartenas:" 0 0 0)
# Ni difinas la eblojn kiuj aperos sur la ekrano
# tiuj, kiujn ni markas per, aperos.
ebloj =(1 "eblo 1" On
2 "eblo 2" Off
3 "eblo 3" Off
4 "eblo 4" Off
5 "eblo 5" On
6 "eblo 6" Off
7 "eblo 7" Off)
# Ni kreas la elektojn funkcio kiu ekzekutas funcheck kun opcioj
# kaj plusendas la eliron al la fina stacio por la sekva por ekzekuti
# la ordonoj
elektoj = $("${funcheck[@]}" "${ebloj[@]}" 2>&1 >/dev / tty)
# ni purigas la ekranon
klara
# Ni aldonas for por ekzekuti komandon bazitan sur
# la elektoj elektitaj per vi povas ŝanĝi la echoon
# iu ajn komando aŭ skriptoj
por elekto en $ elektoj
faru
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 pri dialogo
Miaopinie dialogo estas eleganta maniero krei menuojn por niaj skriptoj, ĝi ebligas facile krei finajn programojn.
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, Dankon
ayudo*
Multaj gracoj!
fue de mucha ayuda!
Multaj gracoj, muy buen blog!
Dankon