我希望CentOS在init 3启动时向我显示我的ip addr,然后再登录。 例如:
CentOS Realese 6.5(Final)
Kernel 2.6..
ip addr: 192.168.1.1
或类似的东西。
我制作的脚本是:
#!/bin/bash
ifconfig eth0 | grep 'inet addr'
但是,我不知道我把它放在哪里。
我尝试使用rc.local(带有“cat”和他的路径),但显然它不是正确的地方,或者我做错了什么。 我在/ etc / issue中尝试,但也许我做错了。
答案 0 :(得分:2)
在 CentOS 7 和 Debian 8 (也可能是其他)上,只需将以下行附加到/etc/issue
My IP address: \4
这将解析为机器的IPv4地址。 如果您有多个网络接口,并且想要选择一个特定的网络接口,则可以使用
指定它My IP address: \4{eth0}
答案 1 :(得分:0)
我不相信/etc/issue
可以自己显示IP地址,这意味着您可能需要在启动时重写/etc/issue
并可能强制登录重新加载到看到它或那种一般的其他东西。
答案 2 :(得分:0)
将此代码放入/etc/rc.d/rc.local并安装横幅应用程序,以显示BIG IP地址
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \\033[0;39m"
SETCOLOR_BLUE="echo -en \\033[0;36m"
touch /var/lock/subsys/local
${SETCOLOR_BLUE}
IP=`/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
${SETCOLOR_NORMAL}
#IP=255.255.255.255
if [[ -z "${IP}" ]]; then
${SETCOLOR_FAILURE}
echo "######################################################################"
echo "## ##"
echo "## Please setup networking and restart virtual machine! ##"
echo "## ##"
echo "######################################################################"
else
${SETCOLOR_WARNING}
echo "Local IP is"
COLUMNS=200 banner ${IP}
fi
${SETCOLOR_SUCCESS}
echo "Use root/password to login"
${SETCOLOR_NORMAL}
答案 3 :(得分:0)
请参阅https://serverfault.com/a/594262/177172
我使用以下(稍加修改):
#!/bin/sh
## https://serverfault.com/a/594262/177172
IPADDRS_TEXT="IP addresses of all external interfaces of this host:"
IPADDRS="$(hostname --all-ip-addresses)"
perl -i -p -0777 -e "s/^$IPADDRS_TEXT[^\n]*\n\n//m; s/$/\n$IPADDRS_TEXT $IPADDRS\n/ if length('$IPADDRS')>6" /etc/issue
不确定将此文件放在CentOS上的哪个位置,以便在接口/ IP地址更改时执行。