千家信息网

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

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要讲解了"怎么解决zsh使用scp命令时*通配符出现no matches的错误",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么解决zsh使
千家信息网最后更新 2025年12月01日怎么解决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安全错误 数据库的锁怎样保障安全 联想服务器加了硬盘不认怎么办 山西服务器虚拟化技术 青岛九九矩阵网络技术 苏州戴尔服务器客服电话 关于网络安全议论文的分论点 阿里云服务器推荐码 学生网络安全守则 想学网络安全推荐书籍 医保业务网络安全管理制度有哪些 昭通学院计算机网络技术专业 互联网企业软件开发流程 网络技术在酒店中的运用案例 学生管理系统网络服务器功能概述 软件开发培训学习价格 域信服务器怎么申请 北京软件开发公司在哪里 潍坊平台软件开发解决方案 网络安全的看法400 服务器root帐号是什么意思 结构化软件开发方法sasd 易语言上传图片数据库mysql 云南省网络安全知识竞赛题目 安全、数据库审计 网络安全能力 sql数据库只显示一个字段 服务器管理实训心得 安卓软件开发包下载软件 政治心得关于网络安全怎么写 登录ftp服务器需要网络吗 防火网络安全画报
0