이 bash 조각이 주어지면 :
PARMS='-rvu'
PARMS+=" --delete --exclude='.git'"
echo $PARMS
rsync ${PARMS} . ${TARGET}
echo는 PARMS 문자열을 예상대로 표시하지만 오류는 표시되지 않지만 rsync는 + =로 추가 된 옵션이없는 것처럼 자동으로 작동합니다. 그러나 이것은 예상대로 작동합니다.
PARMS='-rvu'
rsync ${PARMS} --delete --exclude='.git' . ${TARGET}
나는 bash 따옴표 (항상 문제가 있음)로 무언가를 망쳐 놓았지만 문자열이 올바르게 작성된 것처럼 보이지만 옵션이 무엇과 왜 무시되는지 정확히 알지 못합니다.
이것은
—
Anthon
bash
버전 4.2.25에서 아무런 변화없이 작동합니다 .
echo "$PARMS"
와rsync "${PARMS}"
...