我有一个只能通过无线方式访问的设备。默认情况下,它会启动一个我可以连接的临时无线网络。问题是临时无线网络无法访问互联网。
因此,我使用以下命令将其连接到我的路由器(它是 gnu/linux):
iwconfig ath0 mode managed essid "ESSID"
ifconfig ath0 192.168.1.25 netmask 255.255.255.0 up
route add default gw 192.168.1.1
我想将其添加到启动脚本中,但我不想在路由器出现问题时永远无法使用设备(路由器真的很旧)。
有没有办法检查连接是否失败,并在失败时创建一个临时连接?
答案1
设置默认启动脚本以使用路由器。您已经演示了如何执行此操作。
将路由器视为主要连接。
编写一个脚本,该脚本将每隔 X 分钟使用 crontab 运行一次。该脚本将 ping 某个 Internet 地址,例如 8.8.8.8。如果 ping 失败,它将运行该脚本来设置临时连接。
通过关闭路由器来测试设置。
剩下的唯一问题是,如果你在设置中犯了错误,会发生什么?有没有办法重启机器?或者还有其他选择?
在这种情况下,我会考虑使用其他机器来测试设置,只有当你确定一切正常时,才将设置复制到所需的设备。
编辑:要检查 bash 命令是否成功,请使用$?
例如,
ping 8.8.8.8
if [ $? -eq 0 ]
then
echo "0 means command success"
else
echo "non 0 means not success failure, specific commands have exact code for each of failure messages"
fi