zsh:标准错误未重定向

时间:2019-03-02 14:54:56

标签: zsh

我创建了一个空的导演进行测试

$ mkdir test

$ cd test

$ grep da *
zsh: no matches found: *

现在,我正在尝试将错误zsh: no matches found: *重定向到文件。 (我的目的只是为了测试和理解,请不要问我要做什么以及为什么要这么做)

$ grep da * 2> grep-errors.txt
zsh: no matches found: *

现在错误仍然可见

$ ls -al   
total 60
drwxr-xr-x   2 test users  4096 Mar  2 20:18 .
drwxr-xr-x 117 test users 53248 Mar  2 20:25 ..

文件grep-errors.txt未创建

所以这里发生的事情可以解释一下。为什么错误没有重定向到文件。

1 个答案:

答案 0 :(得分:2)

重定向仅适用于grep,但是当zsh不能扩展到任何匹配文件时,{em} { {1}}曾经运行过,甚至在*尝试处理重定向之前。

一种解决方法是禁用grep选项,以便将zsh从字面上传递给NOMATCH。然后*将运行并产生错误(grep),该错误将被写入文件。

grep