[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] FTP mv
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] FTP mv |
Date: |
Fri, 8 Feb 2008 18:27:48 -0200 |
Alisson,
O mv não tem que aceitar coisa alguma. O coringa * (que veio
originalmente da notação estrela do Multics, antes do próprio Unix) é
expandido pelo shell e entregue ao programa na lista de argumentos.
ex:
echo arq*
o shell interpreta essa linha como
comando: echo
argumentos: * -> OPA! * é uma máscara que representa TODOS os
arquivos e diretórios no diretorio corrente que cujo nome não começe
por . (ponto -- como no caso do .bashrc e do diretorio ..), LOGO eu
vou substituir esse asterisco por essas coisas.
--- substituição --
comando: echo
argumentos: arq1, arq1, ...arqN
ai o mv executa essa linha de comandos.
Repetindo: o mv, o echo, o ls, o wget e qq outro programa nem sabe que
tem um * -- a menos q vc escapasse-o
ex:
echo \*
echo '*'
ai o shell entende que é o caracter *
O que o MV entende: a opção --
se vc tiver um arquivo chamado '-i' e tentar mover ou remover, vai dar
problema, pois o - é um sinal de argumento de linha de comando lido
pelo programa. Para passar um -i que represente 'isso é o nome de um
arquivo e não um parâmetro' vc deve usar a opção -- e informar depois
(isso diz pro getopts para parar de procurar parametros).
ex:
mv -i arquivo.txt (vai dar erro)
mv -- -i arquivo.txt (perfeito).
Poste a exata linha de erro, ok?
Att
Tiago
2008/2/8 alisson3at110 <address@hidden>:
>
>
> Ola pessoal
> Estou com um problema em um Script, quero mover para um diretorio
> varios arquivos começando com o mesmo nome, o usuario informa o nome
> inicial dos arquivos e o script envia
> mv arq* destino
>
> mas o problema que o mv não aceita o *, qual o outro comando que posso
> executar ??
>
> Alisson
>
>
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"
- FTP mv, alisson3at110, 2008/02/08
Re: [shell-script] FTP mv, Renato S. Yamane, 2008/02/09