SecureCRT登陆Linux时标签栏动态显示当前的用户名和ip
由于经常需要 在模拟终端上远程登上服务器做各种操作, 而且很多时候需要同时用不同的窗口登上不同的服务器, 本办法能让人一目了然的分辨出哪个窗口登陆的是哪台机器 (最好是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的标签栏就会更新了.
- 最新评论