bash-script 中的 grep 不会在日志文件中打印消息

bash-script 中的 grep 不会在日志文件中打印消息

我正在尝试使用 grep 将命令的输出写入日志文件:

./exeFile dir1/file.conf | grep textError > logTest.txt &

但它没有向日志文件写入任何内容。

如果我使用./exeFile dir1/file.conf > logTest.txt &上述命令,输出将会被写入日志文件而不会出现任何问题。

我究竟做错了什么?

答案1

如您所知,当您使用时> logTest.txt,您只是将 stdout 重定向到 logTest.txt,因此您看不到任何内容。

要查看问题所在,请运行 grep 而不将 stdout 重定向到文件:

./exeFile dir1/file.conf | grep textError

首先看看你是否有任何输出需要重定向,也许你的 grep 根本没有任何结果。

因此首先确保您的 grep 正常工作,然后重定向输出。

在第二个命令中,您正在重定向所有输出并且没有过滤任何内容,这就是第二个命令有效的原因。

相关内容