我启动了一个应用服务器,它将输出写入 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