Цель: я пытаюсь создать цель PHONY внутри моего Makefile, чтобы при запуске команды "сделать резервную копию" она переместила все файлы, оканчивающиеся на «~», в указанную папку резервной копии.
Вот мой код в настоящее время, и я объясню проблему после: Синтаксис C++ (Переключить обычный текст)
.PHONY: backup
backup:
@mkdir -p ./backup/include #make folder (don't complain if it already exists)
@mkdir -p ./backup/src #make folder (don't complain if it already exists)
@mv -fu *.h~ ./backup/include #move header file backups into desired folder
@mv -fu *.cpp~ ./backup/src #move source file backups into desired folder
Проблема: Это прекрасно работает, НО ТОЛЬКО если файл " .h ~" и ".cpp ~" уже существует в текущем каталоге Makefile. Я хотел бы, чтобы эта цель перемещала файлы, если это возможно, и просто молчила, если нет файлов для перемещения ..
Сообщение об ошибке: mv: not stat `* .h ~ ': нет такого файла или каталога
* Я нахожусь на Linux (Ubuntu), и поэтому моя оболочка "Bash"
Спасибо за помощь, я застрял на этом всю ночь, пробуя всевозможные команды от операторов if до команды "find". Просто подумал, что я наконец-то попросить помощи