Shell Vte中是否有提示?

Shell Vte中是否有提示?,shell,terminal,gtk,vala,vte,Shell,Terminal,Gtk,Vala,Vte,我有一个在Vte.Terminal小部件(可以是bash、zsh或任何其他交互式shell)中运行的shell,我希望监视它,以便知道提示符何时可用以及新命令何时可以启动 我似乎想不出一个一致的方法 以下是我到目前为止想到的一些想法: 监视子进程退出。 有时可以工作,但是只使用内置的命令不会产生子命令。(例如:“while true;do;echo test;done;”)此外,当在后台启动命令时,在子级退出之前,提示将可用 注意Vte输出中的提示字符串。 两个问题:一,。一个简单的提示字符串

我有一个在Vte.Terminal小部件(可以是bash、zsh或任何其他交互式shell)中运行的shell,我希望监视它,以便知道提示符何时可用以及新命令何时可以启动

我似乎想不出一个一致的方法

以下是我到目前为止想到的一些想法:

  • 监视子进程退出。
    有时可以工作,但是只使用内置的命令不会产生子命令。(例如:“while true;do;echo test;done;”)此外,当在后台启动命令时,在子级退出之前,提示将可用
  • 注意Vte输出中的提示字符串。
    两个问题:一,。一个简单的提示字符串,如“#>”,可以很容易地由一些脚本输出,并给出一个假阳性。2.知道提示字符串是什么是有问题的
还有什么其他的想法或方法可以让上面的一个工作

我的目的是什么。
我正在使用终端仿真器,希望根据提示是否可用来更改图标。此外,我还尝试在下次可能的时候让命令“排队”运行。

如果命令仍在运行且提示可用,该怎么办?我只想知道什么时候可以启动新命令。所以当提示可用时,我想。你想实现什么?您是在尝试运行一系列交互式命令,还是在尝试监视shell的状态?像
tmux
screen
这样的程序需要特定的转义码,外壳/程序才能与包含它们的终端通信。@apmasell两者都有。我已经编辑以提供更多细节。