通过远程SSH连接使用rsync时,在远程路径中转义空格
使用SSH将rsync连接到远程服务器时,如何在远程路径中转义空格等?一个简单的反斜杠会转出用于本地bash提示的空间,但是在远程计算机上,该空间将被视为路径的中断,从而标记该路径的结尾。 因此,当我执行rsync -avz /path/to/source/some\ dir/ user@host.tld:/path/to/dest/some\ dir/该操作时,远程服务器将读取该内容,/path/to/dest/some/并且由于无法远程找到该目的地,因为实际目的地是“某个目录”而不是“某个”。 如果我尝试相同的命令并转义反斜杠和空格以超过本地bash提示符并为远程服务器维护反斜杠(共三个反斜杠:)/path/to/dest/some\\\ dir/,则确实会将反斜杠发送到远程服务器,但是远程服务器然后将路径解释为,/path/to/dest/some\/而不是/path/to/dest/some\ dir/仍然删除空格和其后的字符。 如果我尝试用引号将路径引起来,它的行为几乎相同,可以有效地在空格处切断路径。因此,它也只能通过本地bash提示。 最初,我使用的路径中包含“-”(空格-连字符-空格)段,并且远程服务器返回错误rsync: on remote machine: -: unknown option,这首先是整个节省空间的工作的开始。 那么,我该怎么做才能使它在远程服务器上正常工作,而不必从远程路径中删除空格或其他错误字符,例如连字符?