根据 SSID 更改 MacOS 位置 - 无法自动将脚本获取到 运行

Changing MacOS Location based on SSID - can't get script to run automatically

我正在尝试在我的 Mac 上 this GitHub project 和 运行ning,以便在我切换物理位置时自动更改我的网络位置(基于我连接到的 SSID)。我有两个问题至今无法解决。

  1. 我已经按照说明更新了适当的位置名称和关联的 SSID,并且基本上一切正常。但是,有一个 SSID 的名称中包含 space,当我连接到该 SSID 时,它会返回到“自动”位置,因为它没有在列表中找到匹配的 SSID。我已经按照下面的建议更新了脚本,在所有缺少的地方加上引号,但问题似乎首先在于获取 SSID。日志文件回显新的 SSID 名称,如果我的 SSID 是 my wifi,它只会回显 New SSID Found: my。所以我可能只需要稍微更改获取 SSID 的代码行(如下),但我不确定如何更改。

SSID=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I | awk '/ SSID:/ {print }')

  1. 我已经完成了自动安装(在适当的目录中执行./install.sh),并且它已经将所有文件放在相关的地方。但是,每当我切换 SSID 时,它不会自动 运行。我可以随时双击可执行文件,它会 运行 和 select 正确的位置,但它不会自动执行,这是练习的重点。我错过了什么地方吗?

总的来说,我对 mac 和 GitHub 上的脚本编写非常陌生;我之前的经历都在Windows上。所以我可能忽略了一些非常简单的事情,但我还没有找到它在哪里的技能。

运行 macOS 卡特琳娜 10.15.2

干得漂亮!如果您将 awk 更改为使用冒号和 space 作为字段分隔符,它应该可以工作:

SSID=$(AIRPORTTHING| awk -F ': ' '/ SSID:/ {print }')

否则,这也应该有效:

SSID=$(AIRPORTTHING| sed -n 's/^ *SSID: //p')