6

从另一篇文章中,我已经知道.bashrc将当前执行的命令设置为终端标题的内容:

trap 'echo -ne "\033]2;$(history 1 | sed "s/^[ ]*[0-9]*[ ]*//g")\007"' DEBUG

我想调整一下,如果当前没有命令正在运行,标题将是最后一个命令的修改版本,例如方括号中的整个命令(如:)[find . -maxdepth 1 -type f]

如何做到这一点?

4

2 回答 2

3

您可以通过放入相同的转义序列来(ab)使用 PS1,以便每次打印提示时,标题都会更新。

export PS1="\033]2;[\$(history 1 | sed 's/^[ ]*[0-9]*[ ]*//g')]\007$PS1"

最终的 PS1 只是保留您对实际命令行的旧提示。

我实际上并没有使用它,但它应该可以工作。

于 2013-06-07T03:42:20.420 回答
2

轻松快速地进行此操作:

  1. 通过从终端窗口运行以下命令 将程序xtitlesudo apt-get install xtitle安装到您的 PC 上: .

    • 出现提示时输入您的超级用户密码。
  2. 输入xtitle YOUR_DESIRED_TITLE并点击ENTER/RETURN,例如xtitle Tomcat将标题设置为Tomcat。每次需要新标题时重复该命令。

    • 注意:这仅在Ubuntu 14.04上进行了测试。
于 2015-08-27T19:29:55.230 回答