首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何逃避&在scp中

如何逃避&在scp中
EN

Stack Overflow用户
提问于 2015-11-10 13:34:51
回答 4查看 8.9K关注 0票数 10

是的,我确实意识到在scp中如何转义空间已经被问过无数次了,但是我没有使用&-符号,所以如果这个符号是目录名称的一部分。

代码语言:javascript
运行
复制
[sorunome@sorunome-desktop tmp]$ scp test.txt "bpi:/home/sorunome/test & stuff"
zsh:1: command not found: stuff
lost connection

这个&标记似乎把事情搞得一团糟,使用\& &将无法解决这个问题,因为这样就找不到远程目录了:

代码语言:javascript
运行
复制
[sorunome@sorunome-desktop tmp]$ scp test.txt "bpi:/home/sorunome/test \& stuff"
scp: ambiguous target

即使省略引号并在整个工作地点添加\,也不会:

代码语言:javascript
运行
复制
[sorunome@sorunome-desktop tmp]$ scp test.txt bpi:/home/sorunome/test\ \&\ stuff
zsh:1: command not found: stuff
lost connection

那么,有什么想法吗?

EN

Stack Overflow用户

发布于 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/

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33631255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档