前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在linux终端中修改窗体标题?

如何在linux终端中修改窗体标题?

原创
作者头像
马哥linux运维
修改2019-06-28 19:03:55
5.4K0
修改2019-06-28 19:03:55
举报
文章被收录于专栏:linux、Python学习

一、命令行方式:

  • 使用转义码字符
代码语言:javascript
复制
echo -e "\033]0;我的虚拟终端窗体标题3\007"

终端标题被改变

  • 使用转义字符
代码语言:javascript
复制
echo -n $'\e'"]0;我的虚拟终端窗体标题"$'\a'

另一种方式的标题改变,都是bash脚本

  • 说明 :
    • '\e'就是ESCAPE键的转义字符,ASCII码33使用八进制表示就是033,转义表示为\033,\e与\033是等价的。bash脚本,
    • 第二种表示方式,不太符合常用的bash习惯,因为没有使用转义的表示,而是由三个输出字符串构成(为了防止每个输出换行,所以,使用-n禁止换行):
      • $'\e' :这种转义表示好崩溃啊。
      • "]0;我的虚拟终端窗体标题"
      • $'\a'
      • 这个语法的帮助在bash的文档可以查阅到(属于引用的范围😓😓),下面是截图:

      $'string'语法帮助截图

    • 第二种方式的画瓢版本(设置文本颜色): echo -n $'\e'"[32;40mHello"$'\e'"[0m"
      • 一般方式是这样的:

      echo -e "\033[32;40mHello\033[0m"

    使用变态脚本的效果

二、提示符方式:

代码语言:javascript
复制
export PS1="\[\033]0;标题\007\]"

使用提示符环境变量修改

  • 说明:
    • [与]是一对符号,用来在PS1提示符环境变量中输出非可视化字符(这个在bash的帮助文档中可见)。
    • 使用man bash查看bash中关于PS1部分的转义字符描述:

    帮助截图


附录

  • 来自维基的一点修改窗体标题的脚本函数,包括终端信息的判别
代码语言:javascript
复制
# Set terminal title
# @param string $1  Tab/window title
# @param string $2  (optional) Separate window title
# The latest version of this software can be obtained here:
# http://fvue.nl/wiki/NameTerminal
function nameTerminal() {
    [ "${TERM:0:5}" = "xterm" ]   && local ansiNrTab=0
    [ "$TERM"       = "rxvt" ]    && local ansiNrTab=61
    [ "$TERM"       = "konsole" ] && local ansiNrTab=30 ansiNrWindow=0
        # Change tab title
    [ $ansiNrTab ] && echo -n $'\e'"]$ansiNrTab;$1"$'\a'
        # If terminal support separate window title, change window title as well
    [ $ansiNrWindow -a "$2" ] && echo -n $'\e'"]$ansiNrWindow;$2"$'\a'
} # nameTerminal()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、命令行方式:
  • 二、提示符方式:
  • 附录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档