首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash scp失败?

Bash scp失败?
EN

Stack Overflow用户
提问于 2017-07-24 03:17:50
回答 2查看 252关注 0票数 0

例如,我试图做一个简单的scp:

scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/* .

当文件夹中显然有文件并且只返回scp: No match.时,它就会失败?我敢肯定这以前起过作用。当我尝试:

scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/1.txt .

效果很好。这与我试图用scp来阻止我传输所有文件的服务器有关吗?

编辑:解决了。主要的问题是我在tcsh里面而不是bash。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-24 03:25:43

您需要在远程shell上展开* (包括所有文件),而不是在本地shell上。

任何防止在本地外壳上预扩展*的常规转义方法都可以:

代码语言:javascript
复制
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/'*' .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/"*" .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/\* .

或者您也可以引用整个文件名字符串:

代码语言:javascript
复制
scp tzj21@example.co.uk:'/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*' .
scp tzj21@example.co.uk:"/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*" .
票数 2
EN

Stack Overflow用户

发布于 2017-07-24 03:22:12

也许这样就行了。

您必须将文字转义传递给scp,这样远程机器就不会认为它是一个glob。

exmaple>

代码语言:javascript
复制
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1\* .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1* .
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45272088

复制
相关文章

相似问题

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