修改Linux终端登录提示

时间 : 14-10-28 栏目 : Shell进阶 作者 : 老薛 评论 : 0 点击 : 1,675 次

由于在Windows下用虚拟机安装了Linux,然后通过ssh登录到Linux这样比直接在虚拟机下要好一些。通过ssh登录就要知道ip地址,
装了两个不同的Linux系统,而且使用的是dhcp,ip地址可能会发生变化。尽管,使用vmware发现ip地址一般是固定的,
但也会莫名其妙的就变了,所以希望在vmware中启动Linux时,在最终的登录提示中显示ip地址。在Google里搜索发现,实现起来并不难。

Linux下登录提示是记录在/etc/issue和/etc/motd中,这两者的区别是,前者是在用户登录前就显示,
而后者则是在用户登录后显示。我们当然需要更改/etc/issue中的内容。而Linux在启动过程中会执行一系列脚本,
用户可以在rc.local脚本中添加内容,这样就可以在启动过程中执行。在Arch上rc.local位于/etc/rc.local,
而在Slackware中,其位于/etc/rc.d/rc.local。

知道了以上的信息后就不难办了。使用管理员权限修改rc.local文件的内容如下所示:

#!/bin/bash

ipaddr=$(ifconfig | sed -ne 's/ *inet addr:\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\) *B.*/\1/p')

echo $'\x1b\x5b\x48\x1b\x5b\x32\x4a\x0a''Arch Linux \r  ['$ipaddr'] (\n) (\l)' > /etc/issue

以上需要说明的是第二行,是通过正则获取ifconfig命令输出的ip地址,最后一行是输出信息到issue文件。最后一行中前边的字符串是用来清除终端显示的,而issue文件中转义字符也有不同的含义,可以通过man agetty 8来获取所有转义字符的含义。

本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/shell/355.html

修改Linux终端登录提示:等您坐沙发呢!

发表评论

0 + 7 = ?


博主微信号,很高兴为您提供帮助

随便看看

为您推荐

0