常常有许多的终端窗口,每个终端窗口对应一个工程的编译shell。
参考帖子【http://ubuntuforums.org/showthread.php?t=448614&page=2】中最后一层楼的内容
知道如何编写一个能够改变命令行终端的窗口标题的函数。
由于这里定义的函数需要在别的脚本中调用到,所以需要用到export命令,参考文章【http://www.cyberciti.biz/faq/bash-shell-script-function-examples/】中的介绍。
最终需要修改~/.bashrc,在文件的最末尾处增加如下内容:
if [ "$color_prompt" = yes ]; then
PS1_NOTITLE='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1_NOTITLE='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
PS1=$PS1_NOTITLE
function nameTerminal {
PS1=$PS1_NOTITLE
echo -en "\033]2;$1\007"
}
export -f nameTerminal
接着编写一个脚本,能够获取到当前终端的命令行所在路径的文件夹名称,并且改变窗口的title,脚本代码如下:
cur_path=`pwd`;
title=`echo ${cur_path##/*/}`;
nameTerminal $title;
存放在路径:/usr/bin/folder-title.sh
而后赋予所有用户执行该脚本的权限:
sudo chmod o+x /usr/bin/folder-title.sh
接着就能来到一个目录下做一下实验了:
比如当前路径为:/home/xxx/docs
执行 folder-title.sh
就能看到窗口的标题变成【docs】。
后记:
如果执行不成功,有可能是因为~/.bashrc中定义的函数没有生效,在重启操作系统之前,如果想先尝试一下效果,可以先执行一下命令:
source ~/.bashrc
本文介绍了一个简单的脚本,用于改变Linux终端窗口的标题,使其显示当前工作目录的名称。通过修改~/.bashrc文件并创建一个名为folder-title.sh的脚本,用户可以轻松地识别他们正在操作的项目。
2152

被折叠的 条评论
为什么被折叠?



