1
meta 2013-02-20 12:01:41 +08:00 1
这个切换位置不能解决么。
|
2
sinxccc 2013-02-20 12:01:48 +08:00
System Preferences -> Network -> Location
|
3
WarWithinMe 2013-02-20 12:09:21 +08:00
scselect这个命令行工具可以让你切换SP -> Network -> Location里面的其中一个。
如果你想自动根据链接的网络来切换的话。可以看看这个: https://github.com/rimar/wifi-location-changer 和我修改的版本: https://gist.github.com/WarWithinMe/4992791 |
4
nigelvon OP 谢谢,原来系统已经自带这个功能了。
|
6
shao 2013-02-20 13:11:22 +08:00
@WarWithinMe 对你这个非常有兴趣,我之前也有想到过根据搜索到的SSID来自动选择location。
无奈不懂编程,无法实现。 请教, 1.你的修改版本和原版有什么区别吗? 2.我能设置N个SSID(n>=2),比如home、office等,来选择相应的location吗? 感谢! |
7
WarWithinMe 2013-02-20 14:32:19 +08:00
我修改的版本里面做了多一些的判断:
如果没有网络连接,则不做切换。 如果当前已经是合适的location,则不做切换。 原来的版本没有这些判断的话,会导致这个脚本不断帝被调用,因为切换location会触发网络变化,从而让这个脚本运行。 是可以对应多个SSID的。 修改一下我的那个版本里面的: |
8
WarWithinMe 2013-02-20 14:33:31 +08:00
if [ "$SSID" = "$HOME_SSID" ]; then
LOC_NAME=Home else LOC_NAME=Automatic fi 这几行,在里面添加对应的规则就好了。。 |
9
gyteng 2013-02-20 15:33:31 +08:00
|
10
shao 2013-02-20 21:55:55 +08:00
@WarWithinMe
我是这样修改的,你看看是不是合理? if [ "$SSID" = "" ]; then exit 0 fi if [ "$SSID" = "$HOME_SSID" ]; then LOC_NAME=HOME elif [ "$SSID" = "$WORK_SSID" ]; then LOC_NAME=OFFICE else LOC_NAME=Automatic fi btw:还有个问题,我家里有2个SSID,比如ABC和ABC-1,能不能修改 $SSID 包含 $HOME_SSID 来作为if的判断条件? $HOME_SSID=ABC 。 这个“包含“应该用什么运算符代替? 谢谢 |
11
WarWithinMe 2013-02-21 09:45:38 +08:00
应该没有问题。包含是可以的。不过我其实不太懂bash script,需要用的时候也是拼凑各种搜索结果。。
你看看这个SO的问题,貌似有正确答案:http://stackoverflow.com/questions/2829613/how-do-you-tell-if-a-string-contains-another-string-in-unix-shell-scripting |
12
shao 2013-02-21 21:16:17 +08:00 via iPad
@WarWithinMe 感谢。我去试试看
|
13
comcuter 2013-02-22 12:48:16 +08:00
|