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

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

Re: [shell-script] Re: case e shift


From: Elder Marco
Subject: Re: [shell-script] Re: case e shift
Date: Sat, 3 Jan 2009 12:47:34 -0200

Sim, sim. Foi justamente por isso. Por causa do -eq, que era para números.
:-)




2009/1/3 edmarssouza <address@hidden>

>   > Meu caro, acho que seu script poderia ficar assim:
> >
> > if [ $# -gt 0 ]; then
> > case $1 in
> > -d) shift
> > mv -f $* /teste
> > ;;
> > -s) sort=1
> > ;;
> > esac
> > shift
> > fi
> >
> > Observe que eu retirei as aspas do $# e do 0 porque nesse caso, se
> não me
> > engano, você estaria comparando strings e não números. Depois, a
> opção $*
> > faz com que se mova todos os arquivos que foram passados como
> parâmetros
> > (menos a opção -d, que você jogou fora) para esse diretório
> (/teste).
> > Oberve também que não precisamos de um while e eu coloquei um if.
> Se o
> > número de parâmetros não foi maior que zero (ou seja, se for zero),
> o script
> > não irá fazer nada.
> >
> > P.S.: Tente melhorar um pouco mais a indentação para que o código
> fique mais
> > legível, ok?
> >
> > 2009/1/3 edmarssouza <edmarssouza@...>
> >
> > > while [ "$#" -gt "0" ]; do
> > > case $1 in
> > > -d) shift ; dir="$1" ; mv "$dir" /teste ;;
> > > -s) sort=1 ;;
> > > esac
> > > shift
> > > done
> > >
> >
> >
> >
> > --
> > Elder Marco
> >
> > Linux User: #471180
> >
> > "O conhecimento é tristeza: aqueles que mais sabem são os que mais
> > profundamente devem lamentar a mais fatal verdade, a árvore do
> conhecimento
> > não é a da vida." (Versos extraídos da tragédia Manfred, de Byron e
> citado
> > por Nietzsche em "Humano, demasiado humano")
> >
> Eu acho que a causa maior não é as aspas porque até o pouco que eu sei
> as aspas é usada para proteger as variaveis de erros. O que
> diferencia a comparação de string para numerica é os operadores.
> Ex:
>
> x="1"
> if [ "$x" -eq "1" ]; then
> ... comandos
> fi
>
> para comparação numerica
>
> e
>
> x="shell"
> if [ "$x" = "shell" ]; then
> ... comandos
> fi
>
> para comparação de string
>
> é até onde eu sei. Mais estou muito agradecido pela contribuição
> vou testar seu metodo aqui. Obrigadão mesmo. Um abraço.
>
>  
>



-- 
Elder Marco

Linux User: #471180

"O conhecimento é tristeza: aqueles que mais sabem são os que mais
profundamente devem lamentar a mais fatal verdade, a árvore do conhecimento
não é a da vida." (Versos extraídos da tragédia Manfred, de Byron e citado
por Nietzsche em "Humano, demasiado humano")


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



reply via email to

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