分享

让SecureCRT登陆Linux时标签栏动态显示当前的用户名和ip(zz)

 lchjczw 2013-10-17

由于经常需要在模拟终端上远程登上服务器做各种操作, 而且很多时候需要同时用不同的窗口登上不同的服务器, 本办法能让人一目了然的分辨出哪个窗口登陆的是哪台机器(最好是IP).


 

bash支持环境变量PROMPT_COMMAND, 将其设置为一个命令行字符串或者是包含命令行字符串的一个文件的文件名, 命令行用来在显示prompt之前执行. 在redhat系列的机器上(redhat,fedora)都支持文件/etc/sysconfig/bash-prompt-xterm来保存bash+xterm下的PROMPT_COMMAND环境变量的内容, 结合这几点, 就可以轻松实现"在窗口标题部分显示已登陆服务器的ip地址"这个功能.


 

 

1) 设置term类型是xterm时标签显示内容, 即$PROMPT_COMMAND环境变量的值:

# vi /etc/sysconfig/bash-prompt-xterm

-----------------------------------------------------------------------

echo -ne "/e]2;${USER}@$(/sbin/ifconfig eth0|grep 'inet addr'|sed -e 's/^.*inet addr:/(.*/) Bcast.*$//1/')/a"

-----------------------------------------------------------------------

说明:

"/e]2"是xterm支持的第三种escape序列, 用来设置窗口的标题;

"$(.*)"的内容是shell命令, 用来取出服务器eth0网卡的当前ip地址;

"/a"是xterm支持的escape序列的结束符.


 

 

2) 设置term类型是screen时(命令screen进入新窗口时)标签显示内容, 和xterm一样:

cp /etc/sysconfig/bash-prompt-xterm /etc/sysconfig/bash-prompt-screen


 

 

3) 设置term类型不是xterm和screen时标签显示内容, 也和xterm一样:

cp /etc/sysconfig/bash-prompt-xterm /etc/sysconfig/bash-prompt-default


 

 

4) 这几个文件需要有可执行权限:

chmod +x /etc/sysconfig/bash-prompt-*


 

 

现在重新登录操作系统或者切换用户, 模拟终端如SecureCRT的标签栏就会动态更新了.


 

--End--

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多