Большая трудность заключается в том, что клавиша menuExtras в com.apple.systemuiserver представляет собой массив, который переупорядочивается при перетаскивании дополнительных элементов меню в строке меню (а также добавлении и удалении их).
В вышеупомянутом случае Wi-Fi Menu Extra является вторым элементом (который является индексом массива 1, потому что эти массивы индексируются нулями, как массивы C), поэтому вы можете удалить его с помощью PlistBuddy , которого нет в вашем $PATH потому что он спрятан в /usr/libexec . Вы должны использовать PlistBuddy потому что команда defaults не имеет синтаксиса для указания индекса массива. Затем убейте SystemUIServer, чтобы перезагрузить его:
/usr/libexec/PlistBuddy -c 'Delete :menuExtras:1' ~/Library/Preferences/com.apple.systemuiserver.plist
killall SystemUIServer
Чтобы добавить его обратно, сделайте что-то вроде этого:
/usr/libexec/PlistBuddy -c 'Add :menuExtras:1 string "/System/Library/CoreServices/Menu Extras/AirPort.menu"' ~/Library/Preferences/com.apple.systemuiserver.plist
killall SystemUIServer
Обратите внимание, что это сломается, если вы когда-либо удалите или добавите «Дополнения меню», так что «Дополнение меню Wi-Fi» не будет вторым «Дополнением меню» слева в строке меню. Приложив немного больше скриптов, вы можете пройтись по массиву menuExtras поисках дополнительного меню AirPort (Wi-Fi), отметить его индекс, а затем ввести его в команду PlistBuddy.