我创建了一个空的导演进行测试
$ 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
未创建
所以这里发生的事情可以解释一下。为什么错误没有重定向到文件。
答案 0 :(得分:2)
重定向仅适用于grep
,但是当zsh
不能扩展到任何匹配文件时,{em} { {1}}曾经运行过,甚至在*
尝试处理重定向之前。
一种解决方法是禁用grep
选项,以便将zsh
从字面上传递给NOMATCH
。然后*
将运行并产生错误(grep
),该错误将被写入文件。
grep