Angesichts dieser Bash:
PARMS='-rvu'
PARMS+=" --delete --exclude='.git'"
echo $PARMS
rsync ${PARMS} . ${TARGET}
Das Echo zeigt die PARMS-Zeichenfolge wie erwartet an, es wird kein Fehler angezeigt, aber rsync verhält sich im Hintergrund so, als ob die mit + = hinzugefügten Optionen nicht vorhanden wären. Dies funktioniert jedoch wie erwartet:
PARMS='-rvu'
rsync ${PARMS} --delete --exclude='.git' . ${TARGET}
Ich glaube, ich habe etwas mit Bash-Anführungszeichen vermasselt (hatte immer Probleme damit), bin mir aber nicht ganz sicher, was und warum die Optionen ignoriert werden, obwohl die Zeichenfolge anscheinend korrekt erstellt wurde.
bash
Version 4.2.25 ohne Änderungen.
echo "$PARMS"
undrsync "${PARMS}"
...