如何在 shell 脚本中确定 DHCP 是否正在运行

如何在 shell 脚本中确定 DHCP 是否正在运行

如果我在 Linux 环境中运行 Shell 脚本,有没有办法确定 DHCP 是否正在运行?

用伪代码来说,我希望做的事情如下:

#!/bin/sh

if [DHCP is not Up?]
then
    wait for a second and recheck
fi

# Start my application
/usr/bin/MyHostApplication

我有一个打开 TCP 端口的应用程序。但我想确保在启动应用程序之前 DHCP 服务器正在运行。我从网上了解到DHCP负责允许客户端使用 IP 与我的主机应用程序进行通信的服务器是192.168.1.1?所以我希望确认 DHCP 服务器正在运行,这样就可以确认打开我想要的端口是否一切正常?

答案1

如果你想检查计算机是否已经收到其 IP 分配,你可以使用这个简单的调用:

ifconfig | grep 192.168.1
if [ $? -ne 0 ]; then
  wait for a second and recheck
fi

计算机获取此 IP 地址的唯一方式是 DHCP 服务器启动。

相关内容