Bu bash parçası verildiğinde:
PARMS='-rvu'
PARMS+=" --delete --exclude='.git'"
echo $PARMS
rsync ${PARMS} . ${TARGET}
Yankı PARMS dizesini beklendiği gibi gösterir, hiçbir hata görüntülenmez, ancak rsync sessizce + = tarafından eklenen seçenekler mevcut değil gibi davranır. Ancak, bu beklendiği gibi çalışır:
PARMS='-rvu'
rsync ${PARMS} --delete --exclude='.git' . ${TARGET}
Sanırım bash tırnaklarla bir şey berbat ettim (her zaman bunlarla ilgili problemler vardı), ancak dize doğru bir şekilde inşa edilmiş gibi görünse de seçeneklerin neden ve neden göz ardı edildiğinden emin değilim.
bash
4.2.25 sürümünde hiçbir değişiklik yapmadan çalışır .
echo "$PARMS"
andrsync "${PARMS}"
...