Использовать шаблон
all|""
соответствует либо all
, либо пустой строке.
case "$3" in
all|"") ;;
[a-z][a-z][a-z])
other-code ;;
*)
catch-all-code
esac
Файлы, существующие на удаленном компьютере, но отсутствующие на локальном, будут удалены, а в подробном выводе будет отображаться как «удаление имя файла ».
Файлы, существующие на обоих, но разные, будут обновлены. Будет отображаться только имя файла (без предшествующего ему «удаления» ).
Если вам нужно различать «новые» файлы и «обновленные» файлы, добавьте флаг -i. Новые файлы будут показаны со знаком «+» для всех атрибутов, в то время как обновленные файлы будут иметь определенные атрибуты.
$ echo update > a/update ; echo new > a/new
$ rm a/delete_me_later
$ rsync --delete -ai a/ b/
*deleting delete_me_later
.d..t......../
>f++++++++++ new
>f.st....... update