有时 Ubuntu 会失去连接(例如路由器故障),我想确保它重新连接到正确的网络。我不想只检查是否有互联网连接,因为调制解调器可能已故障。我会在名为 的脚本中使用它cron
。
伪代码如下:
if not connected to "wifiname" then
connect to "wifiname".
这应该很简单,但大多数解决方案都想检查是否连接到互联网,而不是特定的网络。
答案1
使用以下命令查找配置的连接的名称:
$ ls /etc/NetWorkManager/system-connections/
将 替换My Choice Network
为您要连接的网络的名称。
运行脚本。如果它已连接到该网络,它将不执行任何操作。如果它未连接到该网络,它将连接到该网络。
#!/bin/bash
wifiname="My Choice Network"
connectedname="$(nmcli -f active,ssid dev wifi|egrep "yes"|awk '{$1="";print}'|sed "s/^[ \t]*//")"
echo "Connedted: [$connectedname]"
echo "wifiname: [$wifiname]"
if [[ ! "$connectedname" == "$wifiname" ]]; then
nmcli connection up id "$wifiname"
fi