--=比天空间=-- - secureCRT标签跟随设置

来源:百度文库 编辑:神马文学网 时间:2024/05/03 09:17:49
这是 Google 对 https://bbs.be10.com/vbb3.0.1/showthread.php?t=2664 的缓存。 这是该网页在 2009年5月8日 11:21:59 GMT 的快照。 当前页在此期间可能已经更改。 了解详情

完整版本突出显示以下搜索字词: securecrt 标签       
今天发表的帖子 返回   --=比天空间=-- > 技术与资源交流 > my note > linux_system 刷新此页 secureCRT标签跟随设置 用户名 记住我的信息? 密码
回复   主题工具 搜索这个主题 显示模式 旧的 05-08-2008, 11:37   #1 iamok 管理员
注册日期: Sep 2004 帖子: 4,900 Status: Offline secureCRT标签跟随设置
linux主机上



在/etc/sysconfig/bash-prompt-default
加入:

echo -ne "\e]2;${USER}@${HOSTNAME}\a"
最后由 iamok 编辑: 05-08-2008 14:09. 引用回复 iamok 查看公开的资料 查找iamok发表的更多帖子 添加iamok到你的好友列表 旧的 05-08-2008, 11:44   #2 iamok 管理员
注册日期: Sep 2004 帖子: 4,900 Status: Offline
http://www.haw-haw.org/node/482


问题提出:
作为系统管理员
经常需要在模拟终端上远程登上服务器做各种操作
而且很多时候需要同时用不同的窗口登上不同的服务器
当登上服务器太多的时候
就偶然会发现突然不知道哪个窗口登的是哪台服务器了
这可是个大问题
如果在错误的服务器里执行了特定命令
有时候后果是非常严重的
因而就想能否有种办法能让人一目了然的分辨出哪个窗口登陆的是哪台机器
因为我们分辨机器大多是靠ip地址
就想能否在窗口的标题部分显示机器的ip就最好了

技术实现:
bash支持环境变量PROMPT_COMMAND
将其设置为一个命令行字符串或者是包含命令行字符串的一个文件的文件名
命令行用来在显示prompt之前执行
而xterm又支持3种escape序列
可以用来更改xterm的“icon name”和”title”两者之其一或两者都改
还有
在redhat系列的机器上(redhat、fedora)
都支持文件/etc/sysconfig/bash-prompt-xterm来保存bash+xterm下的PROMPT_COMMAND环境变量的内容
结合这几点
我们就可以轻松实现“在窗口标题部分显示已登陆服务器的ip地址”这个功能
我当前用的是

echo -ne “\e]2;$(ifconfig | awk ‘/inet addr:/ && ! /inet addr:127\./ { sub (”addr:”, “”); print $2 }’ | sed -e :a -e ‘$!N;s/\n/\|/g;ta’):${PWD}\a”

这里的”\e]2″是xterm支持的第三种escape序列,用来设置窗口的标题
“$(.*)”的内容是shell命令,用来取出服务器的当前ip地址(除去127.x.x.x)列表,并用”|”连接起来
“${PWD}”是指当前的工作目录
“\a”是xterm支持的escape序列的结束符

引申一下:
后来发现,所谓”xterm支持的3种escape序列”,基本上其他的term都支持
起码secure CRT里所带的term类型都支持(我测过)
而且redhat系列的服务器(redhat, fedora)除了支持/etc/sysconfig/bash-prompt-xterm外
还支持/etc/sysconfig/bash-prompt-screen、/etc/sysconfig/bash-prompt-default
用来存储当term类型是screen时和term类型不是xterm和screen时的PROMPT_COMMAND环境变量的值
于是乎

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

这样的话
不管secure crt里term设成什么
都能在其标题里显示服务器ip

补充一下:
为什么这里还有个term被设成screen的case呢
那是因为我们常用的命令screen
执行的时候会将环境变量PROMPT_COMMAND设成”screen”
最后由 iamok 编辑: 05-08-2008 13:17. 引用回复 iamok 查看公开的资料 查找iamok发表的更多帖子 添加iamok到你的好友列表 旧的 05-08-2008, 13:49   #3 iamok 管理员
注册日期: Sep 2004 帖子: 4,900 Status: Offline
最新补充



(I_amok) 13:50:05
关键还是 /etc/sysconfig/bash-prompt-default
(I_amok) 13:50:16
只要这个文件有

echo -ne "\e]2;${USER}@${HOSTNAME}\a"
(I_amok) 13:50:24
就好了,也不要输出什么export了 引用回复 iamok 查看公开的资料 查找iamok发表的更多帖子 添加iamok到你的好友列表 回复
« 上一主题 | 下一主题 »
主题工具 搜索这个主题 显示可打印版本 显示可打印版本 将本页发送给朋友 将本页发送给朋友 搜索这个主题:

高级搜索 显示模式 对主题评分 平板结构 平板结构 混合结构 转换为混合结构 树状结构 转换为树状结构 对主题评分:
5 : 极好 4 : 不错 3 : 平均 2 : 差劲 1 : 糟糕
发帖规则 你不可以发表新主题 你不可以发表回复 你不可以上传附件 你不可以编辑你的帖子
vB代码开启 表情符号开启 [IMG]代码开启 HTML代码关闭


所有时间均为 北京时间。现在的时间是 19:20.
闽ICP备05006336号