在 Ubuntu 中连接到特定 SSID 时执行某些操作

在 Ubuntu 中连接到特定 SSID 时执行某些操作

我想编写一个 bash 脚本,如果我连接到特定的 wifi ssid,它将推迟 dropbox 自动同步。我如何捕捉此事件:例如,我在家工作并且同步已打开,如果我在另一个地方(咖啡馆、工作场所等),自动同步将关闭。

我还想根据 wifi ssid 执行一些其他任务。

答案1

您可以编写一个调度程序脚本,其中存储了/etc/NetworkManager/dispatcher.d/例如以下内容(未经测试):

#!/bin/bash
# nm sets this values
INTERFACE=$1
ACTION=$2

SSID="yourssid"
ESSID=`iwconfig $INTERFACE | grep ESSID | cut -d":" -f2 | sed 's/^[^"]*"\|"[^"]*$//g'`

if [ "$INTERFACE" == "wlan0" ]; then
  if [ "$SSID" == "$ESSID" ] && [ "$ACTION" == "up" ]; then
    #activate dropbox sync
  else
    #deactivate dropbox sync
  fi
fi

相关内容