bash脚本根据stdout消息发出蜂鸣声

时间:2013-10-31 18:42:54

标签: bash stdout beep

从未在bash上编码,但需要紧急的事情。对不起,如果这不是常态,但我真的想得到一些帮助。

我有一些抛出到stdout的消息,具体取决于消息类型(消息是带有“found”字样的字符串)我需要bash脚本发出蜂鸣声。

到目前为止,我已经想出了这个。

  output=$(command 1) # getting stdout stream?
  while [ true ]; do
    if [ "$output" = "found" ]; then # if the stdout has the word "found" 
     echo  $(echo -e '\a') # this makes the beep sound
    fi
  done

我不确定在何处/如何添加grepawk命令来检查具有单词“found”的字符串,并且只返回“found”以便在{{1它可以检查那个词。

谢谢!

1 个答案:

答案 0 :(得分:11)

你可以做一些简单的事情:

command | grep -q 'found' && echo -e '\a'

如果command的输出包含“找到”文本,则grep将返回零退出状态,因此将执行echo命令,从而发出蜂鸣声。 / p>

如果输出中未包含“已找到”,则grep将退出状态1,并且不会生成echo

根据您需要发出的哔声,只需在&&之后更换任何内容即可。一般语法如下:

command | grep -q "$SEARCH" && command_if_found || command_if_not_found