Учитывая этот кусок Баш:
PARMS='-rvu'
PARMS+=" --delete --exclude='.git'"
echo $PARMS
rsync ${PARMS} . ${TARGET}
Эхо показывает строку PARMS, как и ожидалось, ошибки не отображаются, но rsync работает тихо, как если бы опции, добавленные + =, не существовали. Тем не менее, это работает как ожидалось:
PARMS='-rvu'
rsync ${PARMS} --delete --exclude='.git' . ${TARGET}
Наверное, я что-то напортачил с кавычками bash (с ними всегда были проблемы), но не совсем уверен, что и почему параметры игнорируются, даже если строка, кажется, построена правильно.
bash
версией 4.2.25 без каких-либо изменений.
echo "$PARMS"
иrsync "${PARMS}"
...