管道尾部输出到当前正在运行的 bash 脚本



所以我有一个脚本来启动服务并跟踪日志文件,直到服务最终初始化。我使用了以下内容来实现此目的:Linux:阻塞,直到文件中的字符串匹配("tail + grep with blocking")

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

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

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

谢谢

我不确定我是否清楚地了解了您的所有要求,ssh 是 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

最新更新