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

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

Dialog com checkbox dinâmico


From: rudson
Subject: Dialog com checkbox dinâmico
Date: Mon, 16 May 2005 14:46:50 +0000
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050317)

Olá Pessoal,

Estou tentando montar um checkbox dinâmico para o dialog, para mostrar as muitas habilidades do shell GNU/Linux, mas estou tendo algumas dificuldades.

A idéia é simples, cada linha de registro tem a seguinte forma:

@Nome do usuário 1@Endereço do usuário 1@Telefone 1@Celular 1

Utilizo o "@" como separador (poderia ser qualquer outro caracter).

O trecho responsável por isto é mostrado a seguir:

#################################
OPCOES=""
for i in $( seq 1 $CONT ); do
      NEWNAME=$( echo ${NLINHA[$i]} | cut -f2 -d@ )
      OPCOES="$OPCOES $i '$NEWNAME' on"
done
#################################

Onde CONT contem o número de linhas (registros), e NLINHA[$i] cada linha no formado acima citado

Segundo estas linhas acima, será criado um texto no formato:

1 'Nome do usuário 1' on 2 'Nome do usuário 2' on

Em seguida, esta variável OPCOES é adicionada ao comando na linha a seguir

#################################
LISTA=$( dialog --stdout --title "Seleção dos Registros" --checklist "Selecione os registros desejados:" 0 0 0 $OPCOES )
#################################

Mas o dialogo gerado fica com defeitos, no formato

____________________________________
Selecione os registros desejados:

[  ] 1                   'Nome
[X] usuário'      1
[  ] 2                  'Nome'
[X] usuário'      2'

<Aceitar> <Cancelar>
____________________________________

Se faço um echo do comando inteiro, ele é gerado corretamente:

dialog --stdout --title "Seleção dos Registros" --checklist "Selecione os registros desejados:" 0 0 0 1 'Nome do usuário 1' on 2 'Nome do usuário 2' on

Executando esta linha consigo gerar o diálogo desejado.

Percebo que ele está quebrando o conteúdo da variável OPCOES, mas não consegui evitar isto.

Alguém poderia me ajudar a resolver este problema?

Até,
Rudson Alves
www.guses.com.br





reply via email to

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