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

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


reply via email to

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