有什么方法可以阻止后台输出在 Linux 终端中分解输入吗?
Is there any way to stop background output from breaking up input in a Linux terminal?
运行一个Linux终端,我有一个long-运行ning tail
后台进程不时产生终端输出通知我日志变化.由于它在后台,我希望能够 运行 它并继续在终端上工作。但是,每当我在键入时输出 tail
时,输出会在我已经在该行上键入的任何文本之后插入自身,我必须放弃该行并重新开始。例如,键入 abcdefghijklmnop
,tail
消息 Log Updated!
给出:
user@server:~$ abcdefghijklmLog Updated!
nop
-bash: abcdefghijklmnop: command not found
有什么方法可以通过管道将 tail
输出打印出来,同时仍然保留我写了一半的输入行? Bash 以某种方式区分了我输入的内容和 tail
输出的内容,因此存在某种保留的输入缓冲区 - 有没有办法让 tail
擦除已经输入的字符写,打印,然后把那些字符打印到标准输入?
tail
不会执行您的要求,但有关 sed
的提示很有用。如果你运行在screen
, and the tail
process is running in another window (and piping through sed
to append a \a
ASCII BEL to the end of each line), screen
will notify you in its status line的时候看到BEL在对方window.
我在一些构建脚本中使用它,在(部分交互的)任务完成时提醒我。
如果您通过 ssh
连接到执行工作的机器,没有 GUI,那么 Window 管理器对这类事情的用处不大。
运行一个Linux终端,我有一个long-运行ning tail
后台进程不时产生终端输出通知我日志变化.由于它在后台,我希望能够 运行 它并继续在终端上工作。但是,每当我在键入时输出 tail
时,输出会在我已经在该行上键入的任何文本之后插入自身,我必须放弃该行并重新开始。例如,键入 abcdefghijklmnop
,tail
消息 Log Updated!
给出:
user@server:~$ abcdefghijklmLog Updated!
nop
-bash: abcdefghijklmnop: command not found
有什么方法可以通过管道将 tail
输出打印出来,同时仍然保留我写了一半的输入行? Bash 以某种方式区分了我输入的内容和 tail
输出的内容,因此存在某种保留的输入缓冲区 - 有没有办法让 tail
擦除已经输入的字符写,打印,然后把那些字符打印到标准输入?
tail
不会执行您的要求,但有关 sed
的提示很有用。如果你运行在screen
, and the tail
process is running in another window (and piping through sed
to append a \a
ASCII BEL to the end of each line), screen
will notify you in its status line的时候看到BEL在对方window.
我在一些构建脚本中使用它,在(部分交互的)任务完成时提醒我。
如果您通过 ssh
连接到执行工作的机器,没有 GUI,那么 Window 管理器对这类事情的用处不大。