zsh 使用scp传输文件时使用通配符报错

45 篇文章 2 订阅

今日在使用scp传输一批文件(使用了通配符*)的时候报错,提示:

 scp aliyun:/home/photo/2020030617*.jpg ./
zsh: no matches found: aliyun:/home/photo/2020030617*.jpg

搜了一下,原因是因为zsh试图将*展开。在本地找不到文件的时候就报no matches错误。
解决办法:

1. 避免zsh对*展开

有这么2种做法:

  • *前加反斜杠阻止转义
scp aliyun:/home/photo/2020030617\*.jpg ./
  • 用单引号或者双引号将路径(或者含服务器的路径)引起来
#单引号,含服务器地址
scp ‘aliyun:/home/photo/2020030617\*.jpg’ ./
#双引汉,不含服务器地址
scp aliyun:"/home/photo/2020030617\*.jpg" ./

但是有时候本地路径使用通配符上述两个方法都无效,那么参考方法2:

2. 切换到/bin/bash

/bin/bash不存在*号展开的问题。

chsh -s /bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值