如果源变量或目标变量的文件夹名称中有空格,我无法使 rsync 脚本正常工作
#!/bin/bash
HOST="root@192.168.1.100"
source="/path/My Files/"
dest="/path/My Files2/"
rsync -avhP --delete "$HOST":"$source" "$dest"
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
receiving incremental file list
rsync: [sender] link_stat "/path/My" failed: No such file or directory (2)
rsync: [sender] change_dir "/root/Files" failed: No such file or directory (2)
Run Code Online (Sandbox Code Playgroud)
任何关于如何写这个的帮助都会很棒
添加-s
当前rsync
版本的选项。
从man rsync
:
-s , --protect-args:此选项将所有文件名和大多数选项发送到远程 rsync,而不允许远程 shell 解释它们。这意味着名称中不会分割空格,并且不会翻译任何非通配符特殊字符(例如 ~、$、;、& 等)。通配符在远程主机上由 rsync 扩展(而不是由 shell 执行)。
归档时间: |
|
查看次数: |
1349 次 |
最近记录: |