所以我有一个脚本可以启动服务并跟踪日志文件直到服务最终初始化。我使用以下方法来实现这一点: Linux: Block until a string is matched in a file ("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
关于linux - 将尾部输出通过管道传输到当前正在运行的 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29659528/