From 6fee1a61c8b9c47bca405fbb6ca54626383fa23e Mon Sep 17 00:00:00 2001 From: Orion Date: Fri, 8 May 2026 02:10:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(core):=20=F0=9F=9B=A0=EF=B8=8F=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E5=A4=84=E7=90=86=E4=B8=8E=E7=BB=93=E6=9E=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在脚本执行初期增加路径检查机制,确保 `/usr/local/sbin` 和 `/opt/homebrew/sbin` 被正确包含在 PATH 中。此次变更还对代码结构进行了重新梳理,提高了脚本在不同终端环境下的兼容性。 主要变更: - 新增 `prepend_path_once` 函数,实现路径去重添加 - 确保 Homebrew 相关的 sbin 目录在执行前已进入环境变量 - 优化了代码块的排列顺序以提升可读性 --- homebrew/brew-upgrade-manager.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/homebrew/brew-upgrade-manager.sh b/homebrew/brew-upgrade-manager.sh index 59ae4c6..fe197d2 100644 --- a/homebrew/brew-upgrade-manager.sh +++ b/homebrew/brew-upgrade-manager.sh @@ -8,6 +8,19 @@ set -e # set -o pipefail:在管道命令中,如果任何一个子命令失败,整个管道即为失败。 set -o pipefail +prepend_path_once() { + local dir="$1" + [[ -d "$dir" ]] || return 0 + case ":$PATH:" in + *":$dir:"*) ;; + *) PATH="$dir:$PATH" ;; + esac +} + +prepend_path_once "/usr/local/sbin" +prepend_path_once "/opt/homebrew/sbin" +export PATH + # --- 颜色定义 (自动检测终端是否支持) --- if [ -t 1 ]; then GREEN='\033[1;32m'