
Я пытаюсь написать скрипт, который перемещает файлы и (под)каталоги из одного каталога в другой. Эта операция перемещения должна включать не только обычные файлы и каталоги, но и любые dot-файлы. Пока что я придумал следующее:
mv -f "$SOURCE_DIR"/.?? "$TARGET_DIR"
mv -f "$SOURCE_DIR"/.??* "$TARGET_DIR"
mv -f "$SOURCE_DIR"/* "$TARGET_DIR"
Однако эти команды не выполняются, если нет файлов, соответствующих шаблонам.
Мне нужно, чтобы эта операция по перемещению в любом случае прошла успешно.
- независимо от имени файла
- независимо от того, есть ли вообще какие-либо файлы
- независимо от типа: файл, ссылка, каталог и т. д.
Но мне нужно, чтобы операция завершилась неудачей, если что-то пойдет не так (например, недостаточные привилегии в целевом каталоге и т. д.), поэтому простое игнорирование любых ошибок — не лучший вариант.
Как мне решить эту проблему? Думаю, есть очень простое решение, которое я упустил из виду.
Спасибо за помощь!
решение1
Вероятно, вы усложняете задачу больше, чем нужно.
mv $srcdir $destdir