ZSH 自动读取 macOS 系统代理配置并设置环境变量
更多奇技淫巧欢迎订阅博客:https://fuckcloudnative.io 前言 和其它 Linux 的 DE 一样,macOS 也支持在“系统偏好设置”中设置 HTTP 代理、HTTPS 代理,但是 macOS 并不会在终端(Terminal、iTerm)的 shell 中自动生效系统代理配置。为了方便日常使用,我决定好好研究一下 macOS 的系统代理。 1. macOS 系统代理的行为 和 Linux 和 Windows 只有一种系统代理配置不同,macOS 为每一种网络设备(Wi-Fi、Ethernet、Bluetooth PAN 等)维护了独立的网络配置,包括代理配置在内。因此当切换网络设备时,macOS 会使用不同的代理配置;如果同时连接了多个网络设备,则操作系统会优先采用在 和大部分 Linux 桌面环境一样,系统偏好设置中的代理设置在 shell session 中是不会生效的,在终端中使用代理、需要手动提供 HTTP_PROXY 、 HTTPS_PROXY 和 ALL_PROXY 环境变量。 2. 在终端获取 macOS 系统代理配置 macOS 内置了许多实用的命令行工具,如 xcode-select 用于安装命令行工具和配置 Xcode、 build_webkit 用于编译 WebKit、 softwareupdate 用于获取系统更新等