Edmar, sempre que vejo parâmepros, penso no cmd for, cuja implementação sem escopo foi feito para isso. Veja como fica fácil:
move () { for Arq; do mkdir -p $HOME/.lixeira mv $Arq $HOME/.lixeira done } if [ "$1" = -d ]; then shift move else echo "Opcao invalida" ;; fi Neste uso do for, a variável Arq assume o valor de cada um dos parâmetros posicionais e é muito veloz. Antes de entrar na função move, o primeiro parâmetro foi excluído para o for assumir os outros. -- Abração, Julio *Cursos de Shell nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - Turmas fechadas em qualquer cidade ligue (21) 8112-9988* 2008/10/11 edmarssouza <[EMAIL PROTECTED]> > Oi galera, tudo bem? > Preciso de uma ajudinha. Espero que possam me ajudar. > É o seguinte, preciso que quando o usuário digitar, ex: > > move -d arq1 arq2 arq3 > > Os arquivos correspondentes seja movido para um diretorio, > dentro do seu diretorio pessoal. Não estou consigo implementar > isso no meu script. Ele até funciona sem erro algum, mais os arquivos > não são movidos.O código é o seguinte: > > #!/bin/sh > > move() { > until [ $# -eq '0' ]; do > mkdir -p $HOME/.lixeira > mv $2 $HOME/.lixeira > shift > done > } > > case $1 in > -d) move ;; > *) echo "Opcao invalida" ;; > esac > > Se poderem me ajudar ficarei muito grato. > Um abraço a todos da lista e até mais. > > > -- Abração, Julio Cursos de Shell nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - Turmas fechadas em qualquer cidade ligue (21) 8112-9988 [As partes desta mensagem que não continham texto foram removidas]