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

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

Re: [shell-script] Testes em variaveis


From: Tiago Peczenyj
Subject: Re: [shell-script] Testes em variaveis
Date: Sun, 15 May 2005 21:24:58 -0300

echo $VARIAVEL | cut -f1 -d\n  | cut -f1 -d\   (nesse ultimo é \ mais
um espaco em branco)

Creio que isto resolve os problemas.

Em 15/05/05, Marcus Vinicius<address@hidden> escreveu:
>  Oi amigo,
>  O problema do espaço em branco eu resolvi com o grep. Feito e Obrigado.
>  
>  Agora imagine a situação do segundo problema:
>  
>  Eu tenho um script que pede para o usuário digitar um nome: 'read nome'.
>  Se por exemplo o usuário copiar um texto de um editor e colar na janela do
> console (estamos utilizando ssh com putty), no momento que o script está
> lendo a variavel,  o script le a primeira linha e como existe um \n ele
> pensa que a variavel já acabou, executa todos os comandos abaixo, e finaliza
> o script digitando as outras linhas no console como se fossem comandos.
>  
>  Porem isso gera um problema, se eu por exemplo estou manipulando o
> /etc/shadow ele irá danificar meu arquivo com esses \n que não poderiam ter
> sido inseridos,
>  
>  Essa é minha dúvida, há como eu tratar/impedir no próprio script que uma
> variavel seja lida desta forma, ou seja com varias "quebras de linha" ao
> inves de uma só palavra que é o correto em meu caso?
>  
>  O que eu preciso é justamente que meu script identifique isso, se eu tentar
> ler um nome com uma só palavra e o usuário "colar" na hora da execução por
> exemplo:
>  
>  "
>  historinha
>  Era uma vez chapelzinho vermelho
>  Que olhos grandes vovozinha
>  Puxa que boca grande vovozinha
>  ahhhhh
>  "
>  O script certamente não funcionará como desejo.
>  
>  Agradeço se alguem tiver alguma sugestão.
>  Abraços
>  Vinicius
>  
>  Tiago Peczenyj <address@hidden> escreveu:
> 
>  Teste com o GREP
>  
>  Em 14/05/05, Marcus Vinicius<address@hidden> escreveu:
>  >  Pessoal,
>  >  
>  >  Preciso fazer uma validação num script que recebe uma variavel e
> verifica
>  > se está variavel possui um \n, por exemplo, ou um espaço.
>  >  
>  >  Digamos que eu peça para entrar um nome. O padrão seria: vinicius,
> joaquin,
>  > bianca, maria, etc,,, Ou seja só pode ter um nome.
>  >  
>  >  Se o usuário digitar: "jose maria", ou se ele digitar um texto no lugar
> do
>  > nome com quebras de linhas: eu interrompo o script.
>  >  
>  >  Alguem sabe que opções eu posso utilizar num if por exemplo, ou qualquer
>  > outra forma de verificação que eu atinja o resultado esperado?
>  >  
>  >  Abraços.
>  >  &:-)
>  >  
>  >  
>  >  
>  >  __________________________________________________
>  >  Converse com seus amigos em tempo real com o Yahoo! Messenger 
>  >  http://br.download.yahoo.com/messenger/ 
>  >  
>  >  [As partes desta mensagem que não continham texto foram removidas]
>  >  
>  >  
>  > 
>  >
> ---------------------------------------------------------------------
>  >  Esta lista não admite a abordagem de outras liguagens de programação,
> como
>  > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio
>  > aviso.
>  >
> ---------------------------------------------------------------------
>  >  Sair da lista:
> address@hidden
>  >
> ---------------------------------------------------------------------
>  >  Esta lista é moderada de acordo com o previsto em
>  > http://www.listas-discussao.cjb.net
>  >
> ---------------------------------------------------------------------
>  >  
>  > 
>  >  
>  >  ________________________________
>  >  Links do Yahoo! Grupos
>  >  
>  >  
>  > Para visitar o site do seu grupo na web, acesse:
>  > http://br.groups.yahoo.com/group/shell-script/
>  >   
>  > Para sair deste grupo, envie um e-mail para:
>  > address@hidden
>  >   
>  > O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
>  > Yahoo!.
>  
>  
> ---------------------------------------------------------------------
>  Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
>  Sair da lista: address@hidden
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
>  
>  
>  
>  ---------------------------------
>  Links do Yahoo! Grupos
>  
>     Para visitar o site do seu grupo na web, acesse:
>  http://br.groups.yahoo.com/group/shell-script/
>    
>     Para sair deste grupo, envie um e-mail para:
>  address@hidden
>    
>     O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
> do Yahoo!. 
>  
>  
>  __________________________________________________
>  Converse com seus amigos em tempo real com o Yahoo! Messenger 
>  http://br.download.yahoo.com/messenger/ 
>  
>  [As partes desta mensagem que não continham texto foram removidas]
>  
>  
>  
> 
> ---------------------------------------------------------------------
>  Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
>  Sair da lista: address@hidden
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
>  
>  ________________________________
>  Links do Yahoo! Grupos
>  
>  
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>   
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>   
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.


reply via email to

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