rsync 因花括号扩展而失败

rsync failing with curly braces expansion

我正在尝试 运行 以下 rsync 命令:

$ rsync -avz --delete . myuser@myhost:/projects/build{08..40}/

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

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

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

rsync -avz --delete . user@host:/dir{1..3}/

变成

rsync -avz --delete . user@host:/dir1/ user@host:/dir2/ user@host:/dir3/

这会产生您所看到的错误。