管尾输出到当前运行的bash脚本

时间:2015-04-15 19:49:38

标签: linux bash shell

所以我有一个启动服务的脚本并将日志文件拖尾,直到服务最终初始化为止。我使用以下方法来实现这一目标: Linux: Block until a string is matched in a file ("tail + grep with blocking")

现在,我希望我的用户在拖尾开始时看到有尾文件的输出,这样他们就可以跟踪服务的进度。我知道几个关于此的方法,例如生成一个新窗口并将所有尾部输出连接到新句柄。这仅在用户位于实际工作站但脚本通过SSH远程交互时才有效。所以这不适用于我的情况。

我希望有人在这里知道如何将尾部传送到正在运行的窗口,同时将尾部文件的输出保持为一行。我想避免将所有输出喷出到脚本屏幕。

如果我太模糊,请告诉我。我可以发布截图,以帮助更好地解释我想要实现的目标。

谢谢

1 个答案:

答案 0 :(得分:0)

我不确定我是否清楚地接受了你的所有要求,是否需要100%?

这是你*可以做到的一种方式:

#if grep command succeeds then enter infinite loop to repeatedly post to netcat server for remote processing
if (grep -q 'PATTERN'); then
  while :
      tail -n 1 | nc -l 3333

你可以通过以下方式连接到它:

nc <you_other_server's_ip> 3333