shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dialog.


From: Herbelde
Subject: Dialog.
Date: Wed, 2 Oct 2002 20:41:00 +0000 (GMT)

Hey!

Com todo este papo de gente procurando informação sobre dialog,
resolvi colar aqui um pequeno trecho de um texto escrito pelo
Mleue ( address@hidden )  que trata sobre dialog, é básico,
mas é o começo!. Espero ter ajudado!.

===================================== Corta ===================
...

7.3. dialog
     ======

   AVISO: o dialog não um comando específico do bash!

   O dialog serve para fazer caixas de diálogo, e a sintaxe
básica é
assim:

   dialog [ opcoes de título ] opções da caixa

   As opções de título são opcionais (por isso que elas estão
entre
colchetes. duh!), as de caixa são obrigatórias. Para que você
possa fazer
agora uma apreciação visual do dialog tente o seguinte comando:

dialog --yesno "Caixa onde se se escolhe Yes ou No" 0 0

   Existem vários tipos de caixas, a utilizada nesse comando é
uma caixa
do tipo "yesno". Bem... isso foi só pra você dar uma admirada
rápida no
dialog. Agora vamos organizar as coisas, vou explicar alguns
parâmetros.
Vá praticando cada um desses parâmetros e vendo o resultado.
Lembre-se que
as opções da caixa são obrigatórias!


* --backtitle "texto"

   Este parâmetro é para por um título "lá atrás". Tente
dialog --backtitle "Micro\$oft Scandisk" --yesno bla 0 0
e veja como o título que aparece lhe trará péssimas lembranças.
=)


* --title "texto"

   Este vai ser o título da caixa de diálogo.


   Agora vamos as opções de caixa, mas antes uma informação:
Em todos os tipos de caixas existem os argumentos "altura" e
"largura"
(que para abreviar, eu chamarei de "alt" e "larg"), que (por
incrível
que pareça) servem para você determinar a altura e largura da
caixa de
diálogo. Se você não tiver saco pra ficar contando quantos
caracteres
serão usados na caixa, use 0 para altura e largura, assim a caixa
terá um
tamanho de acordo com texto utilizado.


* --yesno "texto" alt larg

   Faz uma caixa de diálogo com as opções "Yes" e "No". Se você
escolher
"Yes" o dialog retorna 0, caso contrário, retorna 1.


* --msgbox "texto" alt larg

   Serve para mostrar uma mensagem e tem um botão de confirmação
"OK".
Quando você escolher "OK" o dialog retornará 0, e, assim como em
todos os
outros tipos de caixas, você pode cancelar via tecla ESC, quando
o dialog
retornará 255.


* --inputbox "texto" alt larg [string de inicio]

   Faz uma caixa de entrada de dados, se "string de inicio" for
passada o
campo de entrada de dados será inicializado por esta string. Os
botões
são "OK" E "Cancel", o primeiro, se selecionado, retorna 0 e o
outro
retorna 1. A string que você entrar será direcionada para a saída
de erro
padrão, portanto, se você quer que isto seja gravado use
redirecionamento
de stderr (ver 3.3 Redirecionamento).


* --textbox arquivo alt larg

   É como se fosse um simples visualizador de arquivos texto. Use
as
setinhas do teclado para se movimentar. Para pesquisar pra frente
use '/'
e para pesquisar pra trás use '?'.


* --menu "texto" alt larg alt-do-menu item1 "descricao do item1"
\
                                    [ itemN "descricao do itemN"
]

   Note que aquela '\' lá no final da linha significa que o
comando
continua na próxima linha. Como o próprio nome diz, esse
parâmetro é
usado para fazer menus, como por exemplo aquele do pppsetup
(slackware)
onde você escolhe qual o ttyS do seu modem. O item que for
escolhido será
impresso em stderr. "OK" retorna 0 e "Cancel" retorna 1.
   Veja um exemplo besta só pra ilustrar:

/* ----------------- */
<++> BashScript/menudialogtest.sh
#!/bin/bash

FILE=/tmp/script-$$

dialog --title "Teste fuleiro da caixa de diálogo \"menu\"" \
  --menu "Qual comando você deseja executar?" 0 0 0 \
  "pwd" "mostra o diretório atual" \
  "ps aux" "lista os processos que estão sendo executados" \
  "uname -a" "exibe informações sobre o SO e a máquina local" \
  "users" "lista os usuários que estão logados no momento" 2>
$FILE

# Lembre-se que o item escolhido será impresso em stderr. E
repare
# acima que eu estou redirecionando stderr para um arquivo.

RET_VAL=$?
[ $RET_VAL -eq 0 ] || { echo "Operação cancelada."; exit 1; }

sh $FILE

rm $FILE

(p157 of 198)
<-->
/* ----------------- */


* --checklist "texto" alt larg alt-da-lista \
   item1 "descricao do item1" status [ item2 "descricao do item2"
status ]

   Note novamente o caractere '\' fazendo o comando continuar na
linha
abaixo. Este tipo de caixa é utilizado quando se quer fazer um
menu onde
pode-se escolher vários itens, você marca os que deseja e dá
"OK". Assim
como o "--menu", o(s) item(ns) que for(em) escolhido(s) serão
impressos em
stderr. O parâmetro "status" serve para você deixar um
determinado item
selecionado logo de início, seus valores podem ser "on" ou "off".

...

=============================== Corta ======================


-- 
[]'s

Herbelde

=============== [msg via fortunes] ===============
Gere fractais em seu monitor: Aproxime um ima na tela.
==================================================



reply via email to

[Prev in Thread] Current Thread [Next in Thread]