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

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

Re: [shell-script] Falha no comando read


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Falha no comando read
Date: Thu, 22 Mar 2007 18:08:04 -0300

Se o read não tem uma variavel especificada, vai pra uma variavel chamada
REPLY

# read -p "digite algo: "
digite algo: asd
# echo $REPLY
asd

Agora...vc poderia usar o select

$ echo "Escolha entre (a)tualizar ou (n)ao a configuracao no B-router: "
$ PS3='opcao: '
$ select OPT in A N; do echo $OPT ; done

Escolha entre (a)tualizar ou (n)ao a configuracao no B-router:
1) A
2) N
opcao: 1
A
opcao: 4

opcao:

Ai é só colocar um if ou case dentro do select ;-)

On 3/22/07, Flavio Junior <address@hidden> wrote:
>
>   O unico "erro" que eu vi, é que VAR deve estar na frente do prompt
>
> "erro" por que isso pode ter ocorrido devido ao corpo da msg no email,
> exemplo:
>
> read -p "Testee: " VAR
> XXXXXXXXXX<enter>
> echo $VAR
> XXXXXXXXXX
>
> Será isso?
>
> Flavio do Carmo Junior
>
>
> On 3/22/07, rodvilla <address@hidden <rodvilla%40ig.com.br>> wrote:
> >
> > Caros amigos,
> >
> > Ao cumprimentar os novos amigos e os antigos (andei fazendo papel de
> > saudosista e reli algumas das primeiras mensagens da lista, que este ano
> > vai
> > completar 7 anos, lembra, Eriberto, Julio?).
> > Apelo a todos vocês antes que vá até um terreiro pra pedir ajuda a um
> > pai-de-santo, porque já tentei resolver esse problema de diferentes
> formas
> > e
> > não consegui encontrar uma razão plausível para o que está ocorrendo.
> >
> > Abaixo segue algumas partes do script que elaborei.
> > Num determinado trecho desse bash script, inseri um comando "read" para
> > que
> > o usuário, em prompt de comando, decida que ação tomar.
> > Acontece que nessa linha o comando read não funciona; no entanto, em
> > determinados trechos, de teste, ele funciona, mesmo que não utilize uma
> > variável para receber um valor de entrada!
> > Segue a parte em que o comando não funciona e a que funciona (teste),
> bem
> > como o trace de execução.
> > Segue também a localização do bash e a versão do bash que utilizo.
> > Não localizei na internet nenhuma referência a alguma limitação ou bug
> > desse
> > release de bash.
> >
> > $ which bash
> > /usr/bin/bash
> > $ /usr/bin/bash -version
> > GNU bash, version 2.05.0(1)-release (sparc-sun-solaris2.9)
> > Copyright 2000 Free Software Foundation, Inc.
> >
> > Seguem partes do código:
> >
> > #!/usr/bin/bash -xv
> > #
> > #...
> > #
> > # Funcoes
> > checa_cfg_sonda ()
> > {
> > # ...
> > echo
> > read -p "Escolha entre (a)tualizar ou (n)ao a configuracao no B-router:
> "
> > VAR
> > echo "VAR = <$VAR>"
> > echo
> > if [ -z "$VAR" -o "$VAR" = "n" ]; then
> > return
> > fi
> > # ...
> > #
> > # Main
> > #
> > # ...
> > checa_cfg_sonda
> > # ...
> > #### TESTE
> > read -p "Pressione <ENTER> para continuar..."
> > #### TESTE
> > # fim do Bash script
> >
> > ------------------
> > Trace da execução:
> > ------------------
> > ...
> >
> > + echo
> >
> > + read -p 'Escolha entre (a)tualizar ou (n)ao a configuracao no
> B-router:
> > '
> > VAR
> > + echo 'VAR = <>'
> > VAR = <>
> > + echo
> >
> > + '[' -z '' -o '' = n ']'
> > + return
> >
> > ...
> >
> > #### TESTE
> > read -p "Pressione <ENTER> para continuar..."
> > + read -p 'Pressione <ENTER> para continuar...'
> > Pressione <ENTER> para continuar...
> > #### TESTE
> > #------------------------
> >
> > Ficarei humilde e imensamente agradecido a quem puder apontar uma luz,
> > pois
> > já esmiucei o arquivo de ponta à cabeça e não consegui encontrar uma
> > explicação que não fosse uma "mariposa" obliterando um relé!... (rs)
> >
> > Grato,
> >
> > Rodolfo Villanova
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


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



reply via email to

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