बैश के इस टुकड़े को देखते हुए:
PARMS='-rvu'
PARMS+=" --delete --exclude='.git'"
echo $PARMS
rsync ${PARMS} . ${TARGET}
इको अपेक्षा के अनुसार PARMS स्ट्रिंग दिखाता है, कोई त्रुटि प्रदर्शित नहीं होती है, लेकिन rsync चुपचाप कार्य करता है जैसे कि + = द्वारा जोड़े गए विकल्प मौजूद नहीं थे। हालाँकि, यह उम्मीद के मुताबिक काम करता है:
PARMS='-rvu'
rsync ${PARMS} --delete --exclude='.git' . ${TARGET}
मुझे लगता है कि मैंने बैश कोट्स के साथ कुछ खराब कर दिया है (हमेशा उन लोगों के साथ समस्या थी), लेकिन यह बिल्कुल सुनिश्चित नहीं है कि स्ट्रिंग को सही तरीके से बनाया गया है, भले ही विकल्प की अनदेखी क्यों और क्यों की गई हो।
bash
बिना किसी बदलाव के संस्करण 4.2.25 के साथ मेरे लिए काम करता है ।
echo "$PARMS"
औरrsync "${PARMS}"
...