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

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

RES: [shell-script] Comando Read


From: Julio Cezar Neves - DISB.O
Subject: RES: [shell-script] Comando Read
Date: Fri, 11 Jan 2002 14:19:19 -0300

Reinaldo,
a solução que te passei com o stty -echo atende a todos os sabores x. A
opção -s do read só atende ao bash.

Vou repetir os cmds, para vc poder ler a senha.

echo Digite a senha:
stty -echo
read Senha
stty echo

Se vc quizer sofisticar (o que aconselho enfaticamente) coloque no inicio do
script a seguinte linha:

trap "stty echo ; exit" 2 3 15

Desta forma, se a execução for interrompida por um destes sinais (CRTL+C,
CTRL+\, kill) o echo do monitor será restaurado antes do término do
programa.

[ ]x,
Julio

-----Mensagem original-----
De: Fahrinha (Nautilus) [mailto:address@hidden]
Enviada em: sexta-feira, 11 de janeiro de 2002 13:03
Para: address@hidden
Assunto: Re: [shell-script] Comando Read


read -s senha

read: illegal option: -s

Reinaldo



> ou se preferir ...
>
> read -s senha
>
>
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
>


Sair da lista: address@hidden
Banco Dados:   http://www.egroups.com/group/shell-script 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 


From (no email address) Fri Jan 11 08:41:35 2002
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-8_0_1_3); 11 Jan 2002 16:41:35 -0000
Received: (qmail 23123 invoked from network); 11 Jan 2002 16:41:27 -0000
Received: from unknown (216.115.97.171)
  by m5.grp.snv.yahoo.com with QMQP; 11 Jan 2002 16:41:27 -0000
Received: from unknown (HELO perninha.conectiva.com.br) (200.250.58.156)
  by mta3.grp.snv.yahoo.com with SMTP; 11 Jan 2002 16:41:23 -0000
Received: from burns.conectiva (burns.conectiva [10.0.0.4])
        by perninha.conectiva.com.br (Postfix) with SMTP id AFC3238DAB
        for <address@hidden>; Fri, 11 Jan 2002 13:41:19 -0300 (EST)
Received: (qmail 9888 invoked by uid 0); 11 Jan 2001 16:41:21 -0000
Received: from verde.conectiva (10.0.2.168)
  by burns.conectiva with SMTP; 11 Jan 2001 16:41:21 -0000
Date: Fri, 11 Jan 2002 14:42:31 -0200 (BRST)
X-X-Sender:  <verde@verde.conectiva>
To: <address@hidden>
Subject: Re: ENC: [shell-script] Verificar arquivos maiusculos !!!
In-Reply-To: <53EFD9E3C76F5D40AB14E9775CDFC9FB02FACA44@wtrjo093>
Message-ID: <Pine.LNX.4.33L.0201111422560.898-100000@verde.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
From: # aurelio marinho jargas <address@hidden>
X-Yahoo-Group-Post: member; ug194321
X-Yahoo-Profile: verde6666

ae juliao,

uma coisa que gosto de discutir é otimização de código.
se for sem prejudicar a legibilidade, melhor ainda.

vou ser mala e comentar alguns trechos &:)

uma coisa que acho legal é ao invés de usar o then e o else, você
definir um padrão e SE tal coisa, muda o valor. assim o trecho:

> if  [ $# -eq 1 ]
> then
>     Dir=$1
> else
>     Dir="."
> fi

ficaria:

Dir="."           # esse é o padrão
if [ $# -eq 1 ]   # se tiver um substituto, muda o valor
then
    Dir=$1
fi

mas como agora só tem o then mesmo, o && pode ser usado:

Dir="." ;
[ $# -eq 1 ] && Dir=$1

e dá pra botar na mesma linha pra ficar visual que é tudo
relativo a mesma variável Dir:

Dir="." ; [ $# -eq 1 ] && Dir=$1

e por último, o teste do $# checa se tem o $1, isso pode ser
feito diretamente referenciando-o entre aspas (importante não
esquecer das aspas!)

Dir="." ; [ "$1" ] && Dir=$1

traduzindo:

"Dir é igual a ponto. Mas se tiver $1, Dir é igual a $1."

ou podemos até obscurecer um pouquinho e usar a expansão de
variáveis do shell:

Dir=$1 ; : ${Dir:=.}

traduzindo:

"Dir é igual a $1. Se a variável Dir não tiver conteúdo, coloque
o conteúdo . nela"


tá. viajei demais...
mas é que segunda-feira já estarei de férias, e como vou passar
um mês longe do computador, vocês me dão um desconto né? &:P


> for ArqMai in `ls | grep '^[A-Z].*$'`

opa, aqui o shell pode fazer isso sozinho:

  for ArqMai in `ls [A-Z]*`



> # listando os 2 em ordem cronologica (-t) e
> # pegando o + novo (head -1). Se for o Maiusculo...
>  [ `ls -t $ArqMai $ArqMin | head -1` -eq $ArqMai ] && mv -f $ArqMai $ArqMin

não sei se isso é exclusividade do test da GNU, mas o meu aqui
tem a opção "Newer Than":

  arquivo1 -nt arquivo2
    Verdadeiro se o arquivo1 é mais novo que o arquivo2
    (levando-se em conta a data de modificação dos mesmos).

então o trecho acima podia ficar:

  [ $ArqMai -nt $ArqMin ] && mv -f $ArqMai $ArqMin



--
http://verde666.org s/click/^a]/;^[:wq



reply via email to

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