V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nigelvon
V2EX  ›  macOS

有没有一种在Mac OS下可以快速切换若干套网络设置的软件?

  •  
  •   nigelvon · 2013-02-20 11:58:58 +08:00 · 5237 次点击
    这是一个创建于 4294 天前的主题,其中的信息可能已经有所发展或是发生改变。
    类似于win下的netSetMan
    13 条回复    1970-01-01 08:00:00 +08:00
    meta
        1
    meta  
       2013-02-20 12:01:41 +08:00   ❤️ 1
    这个切换位置不能解决么。
    sinxccc
        2
    sinxccc  
       2013-02-20 12:01:48 +08:00
    System Preferences -> Network -> Location
    WarWithinMe
        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
    nigelvon
        4
    nigelvon  
    OP
       2013-02-20 12:12:58 +08:00
    谢谢,原来系统已经自带这个功能了。
    alexrezit
        5
    alexrezit  
       2013-02-20 12:15:59 +08:00
    @sinxccc
    切换的话左上角  菜单里面有.
    shao
        6
    shao  
       2013-02-20 13:11:22 +08:00
    @WarWithinMe 对你这个非常有兴趣,我之前也有想到过根据搜索到的SSID来自动选择location。
    无奈不懂编程,无法实现。

    请教,
    1.你的修改版本和原版有什么区别吗?
    2.我能设置N个SSID(n>=2),比如home、office等,来选择相应的location吗?

    感谢!
    WarWithinMe
        7
    WarWithinMe  
       2013-02-20 14:32:19 +08:00
    我修改的版本里面做了多一些的判断:
    如果没有网络连接,则不做切换。
    如果当前已经是合适的location,则不做切换。
    原来的版本没有这些判断的话,会导致这个脚本不断帝被调用,因为切换location会触发网络变化,从而让这个脚本运行。

    是可以对应多个SSID的。
    修改一下我的那个版本里面的:
    WarWithinMe
        8
    WarWithinMe  
       2013-02-20 14:33:31 +08:00
    if [ "$SSID" = "$HOME_SSID" ]; then
    LOC_NAME=Home
    else
    LOC_NAME=Automatic
    fi

    这几行,在里面添加对应的规则就好了。。
    gyteng
        9
    gyteng  
       2013-02-20 15:33:31 +08:00
    shao
        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 。
    这个“包含“应该用什么运算符代替? 谢谢
    WarWithinMe
        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
    shao
        12
    shao  
       2013-02-21 21:16:17 +08:00 via iPad
    @WarWithinMe 感谢。我去试试看
    comcuter
        13
    comcuter  
       2013-02-22 12:48:16 +08:00
    没人说这个? Control Plane
    http://www.controlplaneapp.com/

    可以根据不同的 Wifi SSID 智能地切换网络配置,声音设置等等...估计能满你需求.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2617 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:53 · PVG 18:53 · LAX 02:53 · JFK 05:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.