鉴于这一点:
PARMS='-rvu'
PARMS+=" --delete --exclude='.git'"
echo $PARMS
rsync ${PARMS} . ${TARGET}
回显按预期显示PARMS字符串,不显示任何错误,但rsync默默地充当+ =添加的选项。但是,这按预期工作:
PARMS='-rvu'
rsync ${PARMS} --delete --exclude='.git' . ${TARGET}
我想我用bash引号搞砸了(这些引号总是有问题),但是即使字符串似乎已经正确构建,也不能完全确定忽略了什么以及为什么忽略了这些选项。
这对我适用于
—
Anthon 2014年
bash
4.2.25版,没有任何更改。
echo "$PARMS"
和rsync "${PARMS}"
...