💡
macOS SonomaのCUIで接続中のssid名を取得する
目的
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