gpt4 book ai didi

linux - 有什么方法可以阻止后台输出在 Linux 终端中分解输入?

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:12 25 4
gpt4 key购买 nike

运行 Linux 终端,我有一个长时间运行的 tail 后台进程,它不时产生终端输出以通知我日志更改。由于它在后台,我希望能够运行它并继续在终端上工作。但是,每当我在键入时输出 tail 时,输出会自动插入到我已经在该行中键入的任何文本之后,我必须放弃该行并重新开始。例如,键入 abcdefghijklmnop,带有 Log Updated!tail 消息给出:

user@server:~$ abcdefghijklmLog Updated!               
nop
-bash: abcdefghijklmnop: command not found

有什么方法可以通过管道将 tail 输出打印出来,同时仍然保留我写了一半的输入行? Bash 确实以某种方式区分了我输入的内容和 tail 输出的内容,因此存在某种保留的输入缓冲区 - 有没有办法让 tail 删除那些字符已经写好了,打印,然后把那些字符打印到标准输入?

最佳答案

tail 不会执行您要求的操作,但有关 sed 的提示很有用。如果你运行 screen ,并且 tail 进程在另一个窗口中运行(并通过 sed 管道将 \a ASCII BEL 附加到每行的末尾) , 屏幕 will notify you in its status line当在另一个窗口上看到 BEL 时。

我在一些构建脚本中使用它,在(部分交互的)任务完成时提醒我。

如果您通过 ssh 连接到执行工作的机器,而不是 GUI,则窗口管理器对这类事情的用处不大。

关于linux - 有什么方法可以阻止后台输出在 Linux 终端中分解输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com