错误处理 – zsh在glob失败后存活
发布时间:2020-12-14 01:28:15 所属栏目:Linux 来源:网络整理
导读:我检查了一个项目,该项目包含一个.gitignore文件. 这个文件的内容是这样的 vx1% head .gitignore ./deps/*.exe/*.la/.auto.libsChangeLogMakefileMakefile.inaclocal.m4autom4te.cache 我想要 逐行读取文件 对于每行读取,列出要忽略的实际文件 最后我想调整
我检查了一个项目,该项目包含一个.gitignore文件.
这个文件的内容是这样的 vx1% head .gitignore ./deps /*.exe /*.la /.auto .libs ChangeLog Makefile Makefile.in aclocal.m4 autom4te.cache 我想要 >逐行读取文件 想要这样做的原因是我不相信项目Makefile来完全清理它生成的文件. 笔记 如您所见,.gitignore在运行命令之前使用了一些我需要修改的glob,否则glob将解析为我的根目录. 我所知道的 动态评估任意字符串作为glob模式 DYN = “* C” 打印$~DYN 剥离前导/,如果存在 DYN = “/ *.C” 打印${~DYN /#//} 我得到了什么 cat .gitignore |读我的时候;回声$i; print ${~i /#//}; DONE 问题 这个循环遇到的第一个glob失败,它以错误终止 zsh:找不到匹配项:* .exe 我想要的是 ‘脚本’应该继续遍历文件的每一行,依次尝试每一行. 我自己回答,回答如下 解决方法
以典型的Zsh方式找到了
zsh mailing list的答案 – 当你知道如何以及其他方式时,这很简单.
print *.nosuchextension(N) (N)glob参数可防止在匹配失败时引发错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |