在os启动时显示IP地址

时间:2014-04-30 00:36:57

标签: bash networking centos boot

我希望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中尝试,但也许我做错了。

4 个答案:

答案 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并可能强制登录重新加载到看到它或那种一般的其他东西。

更新操作系统版本:请参阅PaoloC的回答here

答案 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地址更改时执行。