mv diretório para sobrescrever outro

3

Eu posso estar ficando maluco aqui, mas estou tentando mover um diretório para um novo local, sobrescrevendo o conteúdo (no Linux, usando o bash).

Toda vez que eu tento, ele responde com "mv: não pode mover './src' para um subdiretório dele mesmo"

por exemplo. Eu tenho:

/src
/new/dir/src
/$ mv src/ new/dir/

Se eu excluir o diretório de destino, funcionará. Eu sei que posso mover o conteúdo do diretório de origem para sobrescrever o destino, mas gostaria de usar o mesmo comando para sobrescrever o destino, se já existir, ou mover a fonte, se não existir.

    
por gbjbaanb 12.05.2010 / 20:56

1 resposta

0

tente fornecer o caminho absoluto para cada diretório.

i.e. mv /src /new/dir/

também, você pode procurar em rsync para copiar arquivos e excluir arquivos existentes e tudo mais.

você também pode fazer algo como:

#!/bin/sh
if [ -e /new/dir/src/ ]; then
  rm -rf /new/dir/src/
fi
mv /src /new/dir/

a menos que você esteja preocupado em manter os arquivos em /new/dir/src/ , caso em que rsync seria a melhor opção.

    
por 12.05.2010 / 21:19

Tags