优化ubuntu下终端的title
来源:互联网 发布:淘宝装修图 编辑:程序博客网 时间:2024/05/02 00:54
ubuntu下的terminal终端的title总是terminal,要是打开多个的话,找起来很麻烦,于是我就在网上找了找解决方法,但是都没有成功。
所以只能自己修改下试试,结果成功了,现在分享给大家,哈哈...
我的目的很简单就是想把$PWD打印到终端title上,刚开始我不知道怎么修改title,也不知道随着我们操作终端更改当前路径后怎么
刷新title。
1.在看我的.bashrc时,发现一个函数:
function title
{
echo -en "\033]2;$@\007"
}
于是我在终端上尝试命令
title $PWD
结果terminal的title被改变了,但是当我cd到另一个目录时,title并没有随之改变,这时我联想到了我们在终端cd到其他目录时,
终端命令提示器会提示当前路径在哪里,它是随着我们的cd命令及时更新的。
2.于是我想到了环境变量PS1。
把上面的命令修改下
echo -en "\033]2;$PWD\007"
加到.bashrc文件中的PS1中
添加前:
export PS1='\[\e[01;31m\][\u@\[\e[01;34m\]\w] `[[ -d .git ]] && echo -n -e "\[\e[01;33m\]\[\e[01;34m\]"`\$ \[\e[01;32m\]'
添加后:
<1>export PS1='\[\e[01;31m\][\u@\[\e[01;34m\]\w] `[[ -d .git ]] && echo -n -e "\[\e[01;33m\]\[\e[01;34m\]"`\$ \[\e[01;32m\]`echo -ne "\033]2;$PWD\007"`'
注意两个红色的标点不是单引号,而是tab键上面那个(反引号)
这样重启终端,或者执行source ~/.bashrc命令重启后就可以生效。
祝大家好运~
以上这么修改会出现一些问题,因为打印更新标题的这部分代码和和输入的命令有冲突,故更新如下:
<2>export PS1='\[\e[01;31m\][\u@\[\e[01;34m\]\w] `echo -ne "\033]2;$PWD\007"`\$ \[\e[01;32m\]'
这样的话,更新标题的代码(上面蓝色粗体)加到了系统信息部分(这部分不会和输入信息有冲突)
<3>经过使用<2>的配置发现,在某些地方仍然会出现问题,现象是:当命令过长时(还没有到达终端的行尾),就会换行,但是并没有另起一行,而是把本行从头覆盖了,这个问题把我纠结了很久...我一直找不到出现这个现象的原因。
后来我尝试了如下这种方案,结果成功了,暂时还没有发现问题..
export PS1='\[\e[01;31m\][\u@\[\e[01;34m\]\w]\[\033]2;\w\007\]\$ \[\e[01;32m\]'
export PS1='\[\e[01;31m\][\u@\[\e[01;34m\]\w]\[\033]2;$PWD\007\]\$ \[\e[01;32m\]'
这两种应该都是可以的~~
- 优化ubuntu下终端的title
- Ubuntu下的终端中文问题 - [Ubuntu]
- ubuntu终端优化
- dedecms的title优化?
- ubuntu下超级终端minicom的配置
- Ubuntu下启动终端(terminal)的快捷键
- ubuntu 下打开终端的方法
- ubuntu下minicom超级终端的使用方法
- ubuntu下启动终端的快捷键
- ubuntu 下打开终端的方法
- ubuntu下终端路径显示的修改
- Ubuntu下终端颜色的配置问题
- ubuntu下的超级终端minicom
- ubuntu下minicom超级终端的使用方法
- Ubuntu下“超级终端”的使用
- Ubuntu修改终端下的语言
- ubuntu 终端下快捷键
- ubuntu下终端常用命令
- 11-socket的实践到内核--UDP的socket数据的发送
- 谁是前世埋你的人
- Linux内核开发之Helloworld
- Linux内核开发之简单字符设备驱动(上)
- Linux内核开发之简单字符设备驱动(下)
- 优化ubuntu下终端的title
- Linux内核开发之并发控制(一)
- 12-socket的实践到内核--TCP的socket数据的接收
- 为爱停留
- Linux内核开发之并发控制(二)
- Linux内核开发之并发控制(三)
- Linux内核开发之并发控制(四)
- Linux内核开发之并发控制(五)
- Linux内核开发之并发控制(实例总结篇)