gpt4 book ai didi

linux - 网络连接后运行脚本

转载 作者:太空狗 更新时间:2023-10-29 11:18:19 25 4
gpt4 key购买 nike

将文件放在 /etc/network/if-up.d/ 中,您可以在界面出现时调用脚本。但这并不意味着已经建立了互联网连接。这种情况经常发生在我身上。比如下面的代码

#!/bin/sh

# Don't bother to do anything for lo.
if [ "$IFACE" = lo ]; then
exit 0
fi

# Only run from ifup.
if [ "$MODE" != start ]; then
exit 0
fi

# we only care about inet and inet6.
case $ADDRFAM in
inet|inet6|NetworkManager)
;;
*)
exit 0
;;
esac


/path/to/my/script

exit 0

界面一出现就调用脚本。但大多数情况下,我仍然没有网络连接,因此我的脚本会失败,因为它会尝试连接到网络。

我做错了什么?

最佳答案

当接口(interface)启动时,并不意味着您完全可以连接。例如,如果接口(interface)配置为从 DHCP 获取 IP,则 IP 配置需要几秒钟。

要检查 Internet 连接,您可以使用 nslookupdig 查询已知网页的 IP。如果你得到一个有效的答案,你可以继续。否则,等待并在中止前重复一定次数的重试。

现在为什么要使用 DNS 系统来检查 Internet 连接?我认为这是检查所有网络方面是否正确配置(IP 地址、路由、DNS 等)的最简单方便的方法。

关于linux - 网络连接后运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33086020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com