猛击尾巴并观察

猛击尾巴并观察

我启动了一个应用服务器,它将输出写入 stdout。我希望能够观察该输出,并在将特定行发送到 stdout 时发出命令(在本例中为 growlnotify -m“Server is up”),但我仍然希望所有输出都发送到 stdout。

注意我不想写入文件

答案1

将服务器命令的输出通过管道传输到 while 循环:

server | while read; do if [[ $REPLY =~ "Server is up" ]]; then
    # do something
  fi
  echo "$REPLY"
done

相关内容