首先是一些背景知识:我在Mac OSX中使用LaunchD功能定期启动应用程序我将调用" AppX & #34 ;.最好我喜欢几乎全天候运行这个应用程序。但是由于内存泄漏问题(这是我最好的猜测), AppX 会定期关闭。为了解决这个问题,我创建并加载了一个简单的plist文件,每6小时启动一次应用程序。这本身可以很好地工作,并最大限度地减少应用程但是, AppX 本身可能会耗尽我的电池电量,而我更喜欢它只在我家中连接到我的wifi网络时启动。
请注意,虽然我对C ++和Java有一些经验,但我对Unix的方式知之甚少。
我的问题:我想使用if语句来检查我连接的网络是否是我的家庭wifi网络。如果是这样的话,系统将执行命令:
open -a AppX
那么......我将如何实现if语句来实现这一目标?任何帮助表示赞赏。
答案 0 :(得分:0)
这是一个较旧的SO问题,提供了部分答案:
Get wireless SSID through shell script on Mac OS X
对于if语句,以下应该工作:
homenet = "MyHomeNetwork"
netname = /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'
if [ "$netname" -eq "$homenet" ]
then
# Do fancy service startup here
else
# This is not my home network
fi