我正在尝试在bash变量中组装一个rsync命令,然后执行它。 看起来像这样:
CMD="$RSYNC -a $REMOTE $LOCAL $LINK_DEST"
它像这样被执行
RSYNC_RESULT=$($CMD)
这很好,直到我尝试将添加--rsync-path="sudo /usr/local/bin/rsync"
添加到混合中(以便rsync以root身份在远程计算机上运行)。
RSYNC_PATH='--rsync-path="sudo /usr/local/bin/rsync"'
CMD="$RSYNC -a $RSYNC_PATH $REMOTE $LOCAL $LINK_DEST"
现在我得到一个错误
意外的远程arg:user@remote.local:/ Users / user / files / rsync错误:main.c(1343)[sender = 3.1.2]
处的语法或用法错误(代码1)
我相当确定它已连接到$RSYNC_PATH
var和/或$($CMD)
位中的引号,因为我可以将生成的命令粘贴到shell中并成功运行。
有什么想法我可以做些什么?