是的,我确实意识到在scp中如何转义空间已经被问过无数次了,但是我没有使用&-符号,所以如果这个符号是目录名称的一部分。
[sorunome@sorunome-desktop tmp]$ scp test.txt "bpi:/home/sorunome/test & stuff"
zsh:1: command not found: stuff
lost connection
这个&标记似乎把事情搞得一团糟,使用\& &将无法解决这个问题,因为这样就找不到远程目录了:
[sorunome@sorunome-desktop tmp]$ scp test.txt "bpi:/home/sorunome/test \& stuff"
scp: ambiguous target
即使省略引号并在整个工作地点添加\,也不会:
[sorunome@sorunome-desktop tmp]$ scp test.txt bpi:/home/sorunome/test\ \&\ stuff
zsh:1: command not found: stuff
lost connection
那么,有什么想法吗?
发布于 2016-01-25 13:45:47
当使用scp或cp时,特殊字符会破坏文件路径。你可以逃避这个特殊的角色。
使用cp,您可以使用普通的转义特殊字符的方法,它前面有一个反斜杠。例如,可以使用以下方法复制带有空格的路径:
cp photo.jpg My\ Pictures/photo.jpg
scp中的远程路径无法使用此方法进行转义。您需要使用双反斜杠来转义特殊字符。使用相同的示例,My文件夹将使用以下方法转义其空间:
scp photo.jpg "user@remotehost:/home/user/My\\ Photos/photo.jpg"
双引号也很重要,带有特殊字符的整个路径必须用双引号括起来。
来源:https://dominichosler.wordpress.com/2011/08/27/using-scp-with-special-characters/
https://stackoverflow.com/questions/33631255
复制相似问题