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

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

Re: [shell-script] Concatenação...


From: Julio C. Neves
Subject: Re: [shell-script] Concatenação...
Date: Thu, 3 Jul 2008 15:25:34 -0300

Daniel,
teste este exemplo abaixo e veja se serve e o que vc acha. Ele foi
desenvolvido usando zenity que é um irmão mais novo do dialog. A diferença
principal é que o dialog usa uma lib semi-gráfica (ncurses) e a do zenity é
100% gráfica (gtk).

#!/bin/bash
File=$(zenity --file-selection \
    --title "Informe o Nome do Arquivo") || {
        echo Opção Cancelada
        exit 1
        }
: << !
Vc ainda pode usar as opções abaixo na caixa de seleção de arquivos:
--window-icon=ICONE
--width=LARGURA
--height=ALTURA
!
zenity --info                              \
    --title "Irformação Sobre Escolha"     \
    --text="O arquivo informado foi $File" \
    --no-wrap

-- 
Abraços,
Julio
Em setembro estarei dando um treinamento
Shell em Brasília (em 2 fins de semana).
Mais informações: www.tecnologiabr.com.br
Tel: (61) 3354-3162

2008/7/3 Julio C. Neves <address@hidden>:

> Daniel,
> troque o final do teu script pelo seguinte:
>
> file=`cat $tempfile`
> dialog --infobox "$file" 3 30
> --
> Abraços,
> Julio
> Em setembro estarei dando um treinamento
> Shell em Brasília (em 2 fins de semana).
> Mais informações: www.tecnologiabr.com.br
> Tel: (61) 3354-3162
>
>
> 2008/7/3 Daniel Barros <address@hidden>:
>
>   Aês galera, blz!!!
>>
>> Não estou conseguindo concatenar o conteúdo de uma variável.
>>
>> Estou montando um script usando dialog e num determinado momento é
>> digitado o nome de um arquivo.
>>
>> Se por erro, ou maldade, do usuário este nome contiver espaços em branco
>> tipo: teste arq.txt o dialog dá erro, mas se for digitado somente
>> testearq.txt funciona.
>>
>> Acredito que eu esteja errando quando tento concatenar aspas ( " " )
>> com a variável do nome do arquivo.
>>
>> A linha está assim (sem espaços): file= ' " ' $file ' " '
>>
>> a linha: file=`cat $tempfile` está correta, pois a variável está
>> com o conteúdo certo, mas está acusando erro quando é digitado alguma
>> coisa com espaços.
>>
>> Se eu executo: dialog --infobox "teste arq.txt" 3 30, funciona sem
>> problemas.
>>
>> Montei a linha dessa forma pois assim funciona com o comando echo e
>> não estou conseguindo concatenar de outra forma.
>>
>> Segue o trecho do código:
>>
>> #!/bin/bash
>> tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
>>
>> dialog --backtitle "Leitura de arquivo" \
>> --inputbox "Digite o nome do arquivo:" \
>> 8 30 2> $tempfile
>> file=`cat $tempfile`
>>
>> file='"'$file'"'
>>
>> dialog --infobox $file 3 30
>>
>> Agradeço a ajuda.
>>
>>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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