作为我为 OS X 编写的 plist 的一部分,如果成功删除无线网络,我需要执行“say”命令:
networksetup -removepreferredwirelessnetwork
如果网络未被删除,则会显示:
Network (network name) was not found in the preferred networks list
我目前有:
networksetup -removepreferredwirelessnetwork en1 && say "Network deleted"
(en1
网络接口名称在哪里),但即使网络没有被删除,仍然会显示“网络已删除”。
有什么想法吗?
答案1
这意味着它的networksetup
行为不太好,无论错误消息如何都会返回。此代码将在两种情况下0
打印返回代码:0
networksetup -removepreferredwirelessnetwork en1 ; echo $?
解决方案是解析输出:
networksetup -removepreferredwirelessnetwork en1 2>&1 | grep -q "was not found in the preferred networks list" && say "Network deleted"