bash 更改屏幕标题的命令 window(在屏幕内 session)

bash command to change title of screen window (inside the screen session)

我想通过 bash 命令设置当前屏幕 window(在屏幕 session 内)的标题。

我知道可以通过 C-a A 来完成,但这不能直接用作 shell 命令。

screen -t <mytitle> <args>

在当前 window 中有效,但它创建了一个新的 window。我想重命名当前 window。

我看到的所有帖子要么在 运行 屏幕 session 之外处理此操作,要么使用屏幕 keybindings/commands。

在 gedit 中打开你的 ~/.bashrc 文件

gedit ~/.bashrc

在文件末尾添加以下函数。

# function to set terminal title
function settitle(){
  if [[ -z "$ORIG" ]]; then
      ORIG=$PS1
  fi
  TITLE="\[\e]2;$*\a\]"
  PS1=${ORIG}${TITLE}
}

重新运行bashrc文件使修改在当前终端生效。之后就不需要了。

source ~/.bashrc

现在使用函数从 shell 重命名终端名称。从 shell 类型

settitle hello

这将命名为 hello。

我使用了 R.k 的变体。 Lohana 使用 python.

的答案
import os;
if __name__=='__main__':
 title=sys.argv[1]
 info=r'echo -n "3k%s3\"' %(title)
 os.system(info)