Mac iterm2的zsh环境下使用大括号语法批量拷贝文件失败求助
错误原因
你的命令执行失败的核心原因是目标路径中包含未被处理的空格:React TS中间的空格没有被转义也没有被引号包裹,shell解析命令时会将其分割为两个独立的路径参数,导致cp命令接收的参数数量、结构不符合预期,最终执行失败。
你单张拷贝时可以正常执行,是因为多数情况下你会使用Tab键自动补全路径,macOS默认的shell(zsh)在补全带空格的路径时会自动添加转义符,因此不会出现参数解析错误。
解决方案
有两种常用的处理方式可以解决该问题:
方式1:用引号包裹带空格的路径
给包含空格的完整目标路径添加单引号/双引号,即可让shell将其识别为单个路径参数:
# 从当前目录拷贝 cp ./img{1..5}.jpg "/Users/seven/dev/Mentoring/React TS/parallax-bg-img/public/img" # 从Downloads目录拷贝 cp /Users/seven/Downloads/img{1..5}.jpg "/Users/seven/dev/Mentoring/React TS/parallax-bg-img/public/img"
方式2:转义路径中的空格
在空格前添加反斜杠\进行转义,也可以达到同样的效果:
cp ./img{1..5}.jpg /Users/seven/dev/Mentoring/React\ TS/parallax-bg-img/public/img
内容的提问来源于stack exchange,提问作者seven
相关产品推荐
相关产品推荐

