diálogo: Como crear menús nos seus scripts

diálogo, mensajebox, til, backtittle, escrita, título, bater, debian, ubuntu

Diálogo é un comando de GNU / Linux que permite que cree caixas de diálogo na terminal para usar nos seus scripts de programación, Eu vou te amosar como usar este comando.

Para a realización deste artigo eu mando basadoen a guía e nos seguintes sitios dar os meus sinceros agradecementos aos creadores.

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

As cores en aplicacións e sistemas

textos escritos na liña de comandos: azul
Saída na liña de comandos: verde
Os nomes de ficheiro e contido do arquivo: marrón

de diálogo Instalar

Para usar esta ferramenta en primeiro linux ten que facer é instalar

Ubuntu

sudo apt-get diálogo de instalación

Debian

apt-get diálogo de instalación

sombreiro vermello

yum diálogo de instalación

Suse

zypper diálogo de instalación

sintaxe

Para caixas con só unha opción.

así <width-of-box> <top-of-box> é representada por valores numéricos que se 0 Están de acordo co contido.

diálogo <Opcións-common> <opcións de caixa> <width-of-box> <top-of-box>

Exemplo:

--title de diálogo "título"  --YesNo "Como o vermello?" 0 0

Para casos con moitas opcións

É só para caixas de tipo lista de verificación, menú ou radiolist. se 0 en <number-of-opcións visíbel> el axusta automaticamente ao número de opcións.

diálogo <Opcións-common> <opcións de caixa> <width-of-box> <top-of-box> <number-of-opcións visíbel>.

Exemplo:

--checklist de diálogo "Escolla as opcións desexadas:" 0 0 0  1 queixo 2 "mostaza" en  3 anchoas fóra

opcións comúns

Son opcións que están presentes na maioría dos tipos de caixas de diálogo “diálogo” o máis común son as seguintes:

 

títulos

diálogo, mensajebox, til, backtittle, escrita, título, bater, debian, ubuntu

–título

El é usado para poñer o título de diálogo.

–backtitle

É o título da xanela de fondo.

Cambiar botóns de texto

–yes-label

Cambiar a palabra YES nas caixas de diálogo para o seu desexo.

–Ok–etiqueta

Cambiar a palabra Aceptar nas caixas de diálogo para o seu desexo.

–cancelar etiqueta

Cambiar a palabra CANCELAR das caixas de diálogo para o seu desexo.

–exit-label

Cambiar a palabra saír das caixas de diálogo para o seu desexo.

–sen etiqueta

Cambiar a palabra NO nas caixas de diálogo para o seu desexo.

–recanto

Eliminar o botón Aceptar na caixa de diálogo, é necesario premer Intro para entrar.

saída do comando

Estas variables permiten que decidir onde vai as opcións feitas no mando por stderr estándar se podemos levalo á pantalla.

–stderr

a saída do comando para stderr se escolle esta opción pode obter a saída a un ficheiro, engadindo ao final da liña de diálogo:

2><onde desexe gardar o ficheiro de saída>

–saída estándar

Con esta opción imos amosar a saída do comando eu uso cando quero para almacenar nun comando variable, pero non quero ser gravados nun ficheiro temporal, máis tarde nos exemplos, imos ver como.

 

caixa de opcións

Caixa de mensaxes (–msgbox)

diálogo, mensajebox, til, backtittle, escrita, título, bater, debian, ubuntu

Serve para publicar unha mensaxe na pantalla ata que a prensa usuario introduza.

--title de diálogo "título" --msgbox "Ola mundo" 0 0

Menú SI / NON (–YesNo)

diálogo, YesNo, escrita, bater, debian, ubuntu

Serve para responder a preguntas con resposta SI / NON Se a resposta é si retorno 0 Se a resposta é non retorna 1

--title de diálogo "título"  --YesNo "Como o vermello?" 0 0

Infobox (–infobox)

diálogo, infobox, escrita, título, bater, debian, ubuntu

Este cadro presenta información que queremos é desexable para engadir un sono (esperando x segundos para continuar comando) para velo.

--infobox de diálogo "espera 4 segundos" 0 0 ; sono 4

caixa de entrada (–inputbox)

diálogo, inputbox, escrita, título, bater, debian, ubuntu

El é usado para recoller datos.

 --title de diálogo "nome" --inputbox "Coloque o seu nome:" 0 0

caixa de contrasinal (–PasswordBox)

diálogo, PasswordBox, escrita, bater, debian, ubuntu

É igual á caixa de entrada, pero os caracteres tecleados non aparecen.

 --title de diálogo "contrasinal" --PasswordBox "Pon o teu contrasinal:" 0 0

box (–cadro de texto)

diálogo, tesxtbox, escrita, bater, debian, ubuntu, linux, GNU / Linux

O cadro é un visor de ficheiros e nos amosa o ficheiro que indican.

--title de diálogo "fstab" --cadro de texto / etc / fstab 0 0

menú da caixa (–menú)

diálogo, menú, escrita, bater, debian, ubuntu, linux, GNU / Linux, caixa de menú

El nos permite escoller unha opción entre varias opcións numeradas

--menu de diálogo "A mellor tortilla é:" 0 0 0 1 "con cebolas" 2 "sen cebola" 3 "con piminetos" 

lista de comprobación box (–lista de comprobación)

diálogo, lista de comprobación, escrita, bater, debian, ubuntu, linux, GNU / Linux

É un menú con varias opcións que podemos escoller varios. As opcións de poñer en en Eles serán iluminados e para poñer en fóra apagadas.

--checklist de diálogo "Escolla as opcións desexadas:" 0 0 0  1 queixo 2 "mostaza" en  3 anchoas fóra

Unha mención especial dentro lista de verificación para a opción –separada-saída que nos devolve unha liña para cada selección feita moi útil para a execución de comandos diferentes para cada selección feita.

box radiolist (–radiolist)

diálogo, radiolist, escrita, bater, debian, ubuntu, linux, GNU / Linux

É un menú con varias opcións que podemos escoller só unha.

--radiolist de diálogo "Escolla o seu Tortilla favorito:" 0 0 0 1 "con cebola" fóra  2 "sen cebola" en 3 "pementos" fóra 4 "espárragos" fóra

caixa de calendario (–calendario)

diálogo, calendar, calendario, escrita, bater, debian, ubuntu, linux, GNU / Linux

É un calendario onde podemos escoller unha data.

--title de diálogo "calendario" --calendario "Seleccione unha frecha" 0 0

caixa de outras opcións

Ademais á caixa de opcións que vimos hai outras opcións que poden ser interesantes para usar a coñece-los, non dubide en vir en socorro.

diálogo home

Como os datos obtidos con diálogo

Para usar un script datos compilados polas caixas de diálogo non varaias diálogo de opcións que atopei, pero certamente ocorrer a vostede que non dubidará en comunicarmelas máis e engadir no post.

Redireccionar a saída a un diálogo de ficheiro.

Podemos almacenar a saída do comando para un diálogo de ficheiro, xeralmente imos poñer en / tmp e eliminar despois do uso, entón eu coloque un script cun exemplo explicado.

#!/bin/bash
# Por Ignacio Alba Obaya
# http://aplicacionesysistemas.com
# realizar o cadro de diálogo, que terminou en 2>/tmp / nombre.tmp. $$ 
# almacena-lo nun nome de ficheiro inserido.
# lembrar que dous> redirecciona saída de erro para un ficheiro.
--title de diálogo "nome" --inputbox "Coloque o seu nome:" 0 0 2>/tmp / nombre.tmp. $$
# borrar a pantalla
claro
# mostran o nome almacenado
/tmp/nombre.tmp.$$ gato
# exclúa o arquivo chamado
rm -f /tmp/nombre.tmp.$$
# Facemos un salto de liña para que non estamos acumular o poder
echo -e "\n"

Almacenar a resposta nunha variable.

Para almacenar o resultado que vai facelo a través da creación dunha función e chamalo dunha variable.

#!/bin/bash
# Por Ignacio Alba Obaya
# http://aplicacionesysistemas.com
# Almacenar o resultado nunha caixa de diálogo variable
# Creamos a función fundialog
fundialog = ${fundialog = diálogo}
# Creamos unha variable co diálogo data de saída 
# redireccinando con diálogo de saída --stdout 
# para a saída estándar, Nótese que a función é entre 
# acentos da clave [ se non non funciona.
pecha = `$ fundialog --stdout --title "calendario" --calendario "Seleccione unha data" 0 0`
# Amosar data capturado
$ Date echo

Como xestionar saídas lista de verificación

Tamén teñen xestionar varias opcións de saída diso ten unha lista de verificación para que cada opción de gatillo eventos diferentes. A hobble para facelo é o seguinte:

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

# Creamos o funcheck varaible en que nós gardados 
# de diálogo orde coa opción --separate-output
funcheck =(--checklist --separate-output de diálogo "Seleccione os grupos a que pertencen:" 0 0 0)

# Definimos as opcións da pantalla
# aparecen acendeu o puxemos en.
options =(1 "opción 1" en 
 2 "opción 2" fóra
 3 "opción 3" fóra
 4 "opción 4" fóra
 5 "opción 5" en
 6 "opción 6" fóra
 7 "opción 7" fóra)

# Creamos as seleccións de función con opcións correndo funcheck 
# e encamiña a saída para o terminal para a próxima carreira
# comandos
= $ Seleccións("${funcheck[@]}" "${opcións[@]}" 2>&1 >/dev / TTY)

# limpar a pantalla
claro

# engadir un loop for para realizar unha función de mando 
# las selecciones realizadas puedes cambiar el echo por 
# cualquier comando o secuencias de comandos
for seleccion in $selecciones
do
 case $seleccion in
 1)
 eco "Escogiste la opción 1"
 ;;
 2)
 eco "Escogiste la opción 2"
 ;;
 3)
 eco "Escogiste la opción 3"
 ;;
 4)
 eco "Escogiste la opción 4"
 ;;
 5)
 eco "Escogiste la opción 5"
 ;;
 6)
 eco "Escogiste la opción 6"
 ;;
 7)
 eco "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 😀


Sobre Ignacio Alba Obaya

Spanish técnico e adestrador para o emprego. Amante das novas tecnoloxías. Director de GNU / Linux e Windows.

Deixar unha resposta