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

本文介绍了两种在Linux终端中修改窗体标题的方法:命令行方式和提示符方式。命令行方式通过使用转义码字符如'e'或'33'配合特定命令来更改标题。提示符方式则涉及修改PS1环境变量,利用bash的转义字符功能。文章还附带了相关bash文档截图和示例脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、命令行方式:

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

终端标题被改变

  • 使用转义字符
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"
      

      使用变态脚本的效果

二、提示符方式:

export PS1="\[\033]0;标题\007\]"

使用提示符环境变量修改

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

       

      帮助截图


附录

  • 来自维基的一点修改窗体标题的脚本函数,包括终端信息的判别
# 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()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值