💡

macOS SonomaのCUIで接続中のssid名を取得する

2024/04/06に公開

目的

xbarを使用してmenubarにSSIDを表示するため、tetminalでssidを取得するのにいままでは

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I

を使用していたが、本日(2024-04-06)VenturaからSonoma 14.4.1にupdateしたところ非推奨となっていたので、代替を考えた。代わりにwdutilを使えとでるが、自動実行させるscriptにsudoは使えないので別の方策を考えた。ざっくりと検索しても出てこなかったのでメモ。

方法

networksetupを駆使する。zshのscriptで実行している。

# -- ネットワークデバイス種類を取得
# -- 有線も混じっているので、まずWi-Fiのdevice名(en1とか)を取得する。Wi-Fiデバイスは一つしかないことを前提としている。
device=`networksetup -listallhardwareports | awk '/Hardware Port: Wi-Fi/{getline; print $2}'`
# -- 上記で取得したdevice名を加工して、ssidの文字列のみにする
# -- cut2回は実行コスト重そうなので各自適当に変更すると良い
ssid=`networksetup -getairportnetwork ${device} | cut -d ":" -f 2 | cut -d " " -f 2`

Discussion