如果源或目标变量在文件夹名中有空间,我将无法使rsync脚本工作
#!/bin/bash
HOST="root@192.168.1.100"
source="/path/My Files/"
dest="/path/My Files2/"
rsync -avhP --delete "$HOST":"$source" "$dest"
我得到的错误是
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)
任何帮助如何写这将是伟大的
在当前rsync
版本中添加选项-s
。
来自man rsync
:
-s,--protect args:此选项将所有文件名和大多数选项发送到远程rsync,而不允许远程shell对其进行解释。这意味着空间不会被分割在名称中,任何非通配符的特殊字符都不会被翻译(如~、$、;、&等(。通配符在远程主机上通过rsync(而不是做这件事的外壳(。