[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