bry*_*unt 4 error-handling zsh glob gitignore
我检查了一个项目,该项目包含一个.gitignore文件.
这个文件的内容是这样的
vx1% head .gitignore
./deps
/*.exe
/*.la
/.auto
.libs
ChangeLog
Makefile
Makefile.in
aclocal.m4
autom4te.cache
Run Code Online (Sandbox Code Playgroud)
想要这样做的原因是我不相信项目Makefile来完全清理它生成的文件.
如您所见,.gitignore在运行命令之前使用了一些我需要修改的glob,否则glob将解析为我的根目录.
DYN = "*C"
打印$ ~DYN
DYN = "/*.C"
打印$ {~DYN /#//}
cat .gitignore | 读我的时候; 回声$ i; print $ {~i /#//}; DONE
这个循环遇到的第一个glob失败,它以错误终止
zsh: no matches found: *.exe
'脚本'应该继续遍历文件的每一行,依次尝试每一行.
bry*_*unt 11
在zsh邮件列表中找到了答案,采用典型的Zsh方式 - 当你知道如何以及其他方式时,它非常简单.
print *.nosuchextension(N)
Run Code Online (Sandbox Code Playgroud)
(N)glob参数可防止在匹配失败时引发错误.
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |