securecrt怎么设置终端显示为ip
发布网友
发布时间:2022-04-29 11:01
我来回答
共1个回答
热心网友
时间:2022-06-26 14:42
由于经常需要在模拟终端上远程登上服务器做各种操作, 而且很多时候需要同时用不同的窗口登上不同的服务器, 本办法能让人一目了然的分辨出哪个窗口登陆的是哪台机器(最好是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的标签栏就会动态更新了.