如果我在 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 服务器启动。