我检查了一个项目,该项目包含一个.gitignore
文件。
此文件的内容如下
vx1% head .gitignore
./deps
/*.exe
/*.la
/.auto
.libs
ChangeLog
Makefile
Makefile.in
aclocal.m4
autom4te.cache
想要这样做的原因是我不相信项目Makefile来完全清理它生成的文件。
正如您所看到的,.gitignore在运行命令之前使用了一些我需要修改的glob,否则glob将解析为我的根目录。
DYN =" * C"
打印$ ~DYN
DYN =" / * C"
打印$ {~DYN /#//}
cat .gitignore |读我的时候;回声$ i; print $ {~i /#//};完成
此循环遇到的第一个glob失败,它以错误终止
zsh: no matches found: *.exe
'脚本'应该继续浏览文件的每一行,依次尝试每一行。
答案 0 :(得分:11)
以典型的Zsh方式在zsh mailing list找到答案 - 当你知道如何以及其他方式时,这很简单。
print *.nosuchextension(N)
(N)glob参数可防止在匹配失败时引发错误。