2016-11-04 55 views
0

我试图运行下面的rsync命令失败:rsync的带花括号扩展

$ rsync -avz --delete . [email protected]:/projects/build{08..40}/ 

Unexpected remote arg: [email protected]/projects/build08/ 
rsync error: syntax or usage error (code 1) at main.c(1201) [sender=3.0.6] 

我不明白,为什么上面的命令失败。如果我将build{08..40}替换为build08,它可以工作。

回答

1

大括号的扩展会导致多个远程位置传递给rsync。

rsync -avz --delete . [email protected]:/dir{1..3}/ 

成为

rsync -avz --delete . [email protected]:/dir1/ [email protected]:/dir2/ [email protected]:/dir3/ 

产生你所看到的错误。

+0

我认为在这种情况下,rsync会rsync到所有远程位置。使用'for'和'seq'循环代替工作。谢谢! –