千家信息网

怎么解决zsh使用scp命令时*通配符出现no matches的错误

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要讲解了"怎么解决zsh使用scp命令时*通配符出现no matches的错误",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么解决zsh使
千家信息网最后更新 2024年11月26日怎么解决zsh使用scp命令时*通配符出现no matches的错误

这篇文章主要讲解了"怎么解决zsh使用scp命令时*通配符出现no matches的错误",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么解决zsh使用scp命令时*通配符出现no matches的错误"吧!


MacOS升级后zsh成了默认的shell,顺应潮流开始了zsh的使用之旅。

今天使用scp复制远程多个文件时出现如下错误:

# 复制某个目录下的所有配置文件(*.conf)scp host:/xxxx/*.conf .# 错误如下错误# zsh: no matches found: host:/xxxx/*.conf

很肯定这条命令语句在bash中能正常如期工作,出现这样的问题应该是zsh的锅。作为资深linux用户,可以很快看出了问题所在:zsh试图将*通配符展开,在本地未找到对应文件,于是出现"no matches"的错误。

经过个人尝试以及网上搜索,有两种解决方案:

  1. 不要让zsh将*号展开;具体做法有:

    • 将*号部分用引号引起来,单双引号都所无谓。例如:scp "host:/xxxx/*.conf" .,或者scp 'host:/xxxx/*.conf' .。也可以只引用路径部分,例如:scp host:'/xxxx/*.conf' .

    • 用反斜杆阻止zsh转义:scp host:/xxxx/\*.conf .

  2. 设置nonomatch选项,让zsh匹配失败时不报错并使用原本内容。具体做法是:setopt nonomatch,然后再使用scp命令。推荐的做法是写入到.zshrc文件中,让以后的使用中自动生效。

参考

  1. zsh使用scp命令时*通配符无法使用

感谢各位的阅读,以上就是"怎么解决zsh使用scp命令时*通配符出现no matches的错误"的内容了,经过本文的学习后,相信大家对怎么解决zsh使用scp命令时*通配符出现no matches的错误这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

错误 命令 通配符 文件 做法 内容 问题 学习 引号 部分 个人 之旅 原本 多个 就是 很快 思路 情况 所在 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 淘车宝贝汽车科技互联网有限公司 网络安全事故及处理 南开大学网络安全学院仪德智 共享按摩椅 软件开发 网络技术学什么平台好 数据库 时间 数字 译钦网络技术怎么样 联想软件开发工程师做些什么 数据库对时间失败 企业软件开发好找工作吗 顺义区咨询软件开发包括什么 深圳期货软件开发公司排名 计算生物学软件开发 奉贤区工商数据库系统价格多少 网络安全论文参考文献对齐 澳洲科技互联网公司排名 星星知多少玩的空岛服务器是什么 软件开发费记什么条件 客服系统软件开发 dir命令网络安全教学 宝山区市场软件开发销售 物流管理数据库怎么做 中兴和银行软件开发中心哪个好 对数据库的加密方法主要有几种 软件开发公司官网源码免费 服务器 远程重启 2012服务器的安全数据库 书籍数据库下载 网络安全问题手抄报版图 推荐软件开发经验丰富
0