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

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

Re: [shell-script] case e shift


From: Elder Marco
Subject: Re: [shell-script] case e shift
Date: Sat, 3 Jan 2009 10:30:03 -0200

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 <address@hidden>

> 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")


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



reply via email to

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