crt linux切换用户,让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的标签栏就会动态更新了.

#################################################################################################

方法二

也可以在/etc/profile.d/创建shell脚本

>>:10.10.32.35:monitor:/root>cat

/etc/profile.d/login.sh

#!/bin/bash

local_ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep

-v inet6|awk '{print $2}'|tr -d "addr:"`

#PS1='>>$path:\e[01;31m$local_ip\e[00m:\e[01;31m$HOSTNAME\e[00m:$PWD\$'

#PS1='[\e[01;31m$local_ip\e[00m:\e[01;31m$HOSTNAME\e[00m:$PWD]\$'

PS1='[\[\e[01;31m\]$local_ip:\u\[\e[m\]\[\e[1;33m\]@\[\e[m\]\[\e[1;35m\]\h\[\e[m\]:$PWD]\$

'

export PS1

echo -e

"\e[01;34m**********************************************************************************************\e[00m"

echo -e "\e[01;31m*\e[00m"

echo -e "\e[01;33m* ** 请注意你当前登录的用户和IP地址 **\e[00m"

echo -e "\e[01;31m*\e[00m"

echo -e "\e[01;33m* ** 你目前登录的账户是: \e[01;31m$LOGNAME\e[00m **

\e[00m"

echo -e "\e[01;31m* \e[00m"

echo -e "\e[01;33m* ** 语言环境是: \e[01;31m$LANG\e[00m **

\e[00m"

echo -e "\e[01;31m* \e[00m"

echo -e "\e[01;33m* ** 本机的IP地址: \e[01;31m$local_ip\e[00m **

\e[00m"

echo -e "\e[01;31m* \e[00m"

echo -e "\e[01;33m* ** 当前路径是: \e[01;31m$PWD\e[00m

\e[00m"

echo -e "\e[01;31m* \e[00m"

echo -e "\e[01;33m* ** 备用说明: ** \e[00m"

echo -e "\e[01;31m* \e[00m"

echo -e

"\e[01;34m**********************************************************************************************\e[00m"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值