Назад | Перейти на главную страницу

mv, чтобы перезаписать другой

Возможно, я здесь схожу с ума, но я пытаюсь переместить каталог в новое место, перезаписывая его содержимое (в Linux, используя bash).

Каждый раз, когда я пробую его, он отвечает "mv: невозможно переместить` ./src 'в свой подкаталог "

например. У меня есть:

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

Если я удалю каталог назначения, он будет работать. Я знаю, что могу переместить содержимое исходного каталога, чтобы перезаписать место назначения, но я хотел бы использовать ту же команду для перезаписи места назначения, если оно уже существует, или переместить источник, если его нет.

попробуйте указать абсолютный путь к каждому каталогу.

т.е. mv /src /new/dir/

также вы можете изучить rsync копировать файлы и удалять существующие файлы и все такое.

вы также можете сделать что-то вроде:

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

если вы не заботитесь о хранении файлов в /new/dir/src/, в таком случае rsync был бы лучшим вариантом.