You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在macOS中编写脚本实现以太网与WiFi的互切?

在macOS中编写脚本切换以太网与WiFi的方法

当然可以!在macOS中,我们可以借助系统自带的networksetup命令行工具来实现网络偏好的切换,这和你熟悉的Windows批处理逻辑类似,完全可以写成脚本一键完成以太网和WiFi的互相切换。

第一步:确认你的网络接口名称

不同设备的以太网、WiFi接口名称可能略有差异(比如部分机器的以太网叫"Thunderbolt Ethernet",而不是默认的"Ethernet"),先运行以下命令查看所有可用网络服务:

networksetup -listallnetworkservices

在输出结果里找到你的以太网Wi-Fi对应的名称,记下来后面要用到。

核心命令说明

networksetup是macOS专门用于配置网络的命令行工具,切换网络的核心操作就是启用/禁用对应接口:

  • 禁用指定网络接口:networksetup -setnetworkserviceenabled "接口名称" off
  • 启用指定网络接口:networksetup -setnetworkserviceenabled "接口名称" on

自动切换脚本示例

下面是一个可以自动判断当前网络状态并切换的脚本,把它保存为switch_network.sh

#!/bin/bash

# 替换成你自己机器上的以太网和WiFi接口名称
ETH_INTERFACE="Ethernet"
WIFI_INTERFACE="Wi-Fi"

# 获取当前以太网的启用状态
ETH_STATUS=$(networksetup -getnetworkserviceenabled "$ETH_INTERFACE")

if [ "$ETH_STATUS" = "Enabled" ]; then
    # 当前以太网开启,切换到WiFi
    echo "正在切换至Wi-Fi..."
    networksetup -setnetworkserviceenabled "$ETH_INTERFACE" off
    networksetup -setnetworkserviceenabled "$WIFI_INTERFACE" on
else
    # 当前以太网关闭,切换到以太网
    echo "正在切换至以太网..."
    networksetup -setnetworkserviceenabled "$WIFI_INTERFACE" off
    networksetup -setnetworkserviceenabled "$ETH_INTERFACE" on
fi

脚本使用步骤

  1. 打开文本编辑器(比如系统自带的TextEdit),粘贴上面的代码,记得把ETH_INTERFACEWIFI_INTERFACE的值替换成你之前查到的接口名称,然后保存为switch_network.sh(注意保存时要选“纯文本”格式)。
  2. 打开终端,导航到脚本所在的文件夹(比如脚本在桌面,就输入cd ~/Desktop)。
  3. 给脚本添加执行权限:
chmod +x switch_network.sh
  1. 运行脚本完成切换:
./switch_network.sh

额外小技巧

如果觉得每次打开终端运行麻烦,你可以用Automator把这个脚本做成一个App,双击就能执行;或者给脚本设置一个键盘快捷键,这样切换网络会更高效。

内容的提问来源于stack exchange,提问作者Ryan Athey

火山引擎 最新活动