小编Pio*_*otr的帖子

bash:rsync,选项为变量

我正在编写bash脚本,它在某些部分将通过ssh rsync文件.不幸的是,我遇到了将rsync选项保持为变量的问题.请看下面的内容:

    # variables
    directory="/etc"
    backupDirectory="/backup"
    incrementalBackup="/incremental"
    options="-a -e 'ssh -p 10022' -b --backup-dir=$incrementalBackup --delete"
    # rsync
    rsync $options user@server:$directory $backupDirectory
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的脚本因rsync错误而失败

    Unexpected remote arg: user@server:/etc
    rsync error: syntax or usage error (code 1) at main.c(1201) [sender=3.0.6]
Run Code Online (Sandbox Code Playgroud)

我在脚本调试过程中看到的是,ssh选项('ssh -p 10022')被视为rsync选项.问题是如何正确地将这些额外的ssh设置传递给rsync?提前感谢您提示.

ssh bash rsync

5
推荐指数
2
解决办法
9178
查看次数

标签 统计

bash ×1

rsync ×1

ssh ×1