Gar*_*ake 4 bash shell command-line
(在bash中)是否可以观察命令行程序的输出并在特定字符串出现时标记?
基本上我的问题是我们有大型构建脚本,可以为控制台产生大量输出.我想看一下控制台说"错误"这个词,然后以某种方式提醒我.
然后我知道去观看剩下的过程/取消它.
从命令行尝试这样:
<YOUR_BUILD_CMD> | grep ERROR
Run Code Online (Sandbox Code Playgroud)
输出时只打印出ERROR <YOUR_BUILD_CMD>
.该|
是管道运营商,这里是手册的grep命令.
你可以grep
为字符串,但你需要存储make的原始输出,这可以使用tee
.发生错误时使用mplayer播放声音文件的示例:
make 2>&1 | tee make.log | grep -lq ERROR && mplayer alert.wav
Run Code Online (Sandbox Code Playgroud)