错误处理 – zsh在glob失败后存活

错误处理 – zsh在glob失败后存活,第1张

概述我检查了一个项目,该项目包含一个.gitignore文件. 这个文件的内容是这样的 vx1% head .gitignore ./deps/*.exe/*.la/.auto.libsChangeLogMakefileMakefile.inaclocal.m4autom4te.cache 我想要 >逐行读取文件 >对于每行读取,列出要忽略的实际文件 >最后我想调整脚本来删除这些文 我检查了一个项目,该项目包含一个.gitignore文件.

这个文件的内容是这样的

vx1% head .gitignore ./deps/*.exe/*.la/.auto.libsChangeLogMakefileMakefile.inaclocal.m4autom4te.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参数可防止在匹配失败时引发错误.

总结

以上是内存溢出为你收集整理的错误处理 – zsh在glob失败后存活全部内容,希望文章能够帮你解决错误处理 – zsh在glob失败后存活所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1028164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存