Я хочу создать скрипт, который скопирует мой проект и сделает его zip архивом.Я хочу исключить все папки с именем .svn во всех подкаталогах.Любое предложение?
zip
.svn
Я бы использовал правила фильтра rsync для этого:
Создайте файл .rsync-filter (в каталоге источника), содержащий, например,
.rsync-filter
-.svn/
Теперь запустите rsync как превознесенную копию:
rsync -aFF origin/ destination/
Просто вызовите утилиту zip в папке вашего проекта и используйте параметр -r для рекурсии, а параметр -x для исключения файлов / папок по шаблону.
-r
-x
zip -r target-filename.zip source-folder -x \*exclude-pattern\*
exclude-pattern в вашем случае будет .svn
exclude-pattern
См. Также man zip
man zip
Вы можете сделать это, используя rsync. Хотя он предназначен для синхронизации каталогов между серверами, его также можно использовать для копирования каталогов на одном компьютере.
rsync
rsync имеет опцию --exclude для исключения файлов и каталогов по шаблону. См. http://www.samba.org/ftp/rsync/rsync.html для справки и примеров.
--exclude