zsh数组分配,没有匹配错误

时间:2018-12-27 16:58:17

标签: zsh

zsh 5.2版

我正在尝试使用文件名生成进行数组分配,如下所示:

files =(/ some / path / * / dir / myfile)

实际上,这是zshoptions手册建议实现我想要的方法的方式。

当不存在匹配项时,我希望数组为空。相反,它正在产生

未找到匹配项:/ some / path / * / dir / file

并且脚本终止。

我尝试设置NULL_GLOB,CSH_NULL_GLOB并确保未设置NOMATCH。

当匹配确实存在时,它将按预期工作。

感谢您的帮助。

先谢谢您

韦恩

1 个答案:

答案 0 :(得分:0)

当然,我在发布问题后找到了解决方案。

要使其正常工作,需要设置EXTENDED_GLOB以及NULL_GLOB。或者可以使用glob限定符,以便NULL_GLOB仅影响此特定扩展。

这是为单个操作设置NULL_GLOB的方法:

文件=(/ some / path / * / dir / myfile(N))

希望可以帮助遇到此问题的其他人。

韦恩