用 local 限定 Bash 变量作用域

避免函数变量覆盖调用者的环境。

macOSBash 脚本Shell脚本低风险
在函数体内用 local 声明局部变量。

01命令

命令
$ count() { local n=0; n=$((n+1)); echo "$n"; }; count

02作用说明

不使用 local 时所有赋值都是全局的,一个函数可能悄悄覆盖另一个函数的数据。local 让函数自成一体,脚本变大后尤为重要;这是语言层面的脚本行为,图形界面没有对应概念。

03风险

风险低风险
使用条件macOS default zsh/bash (bash 3.2+; some features need bash 4+ via Homebrew)
系统兼容性macOS with bash 3.2+ (GNU bash 4+ via Homebrew for advanced features)
!注意: local 只能用于函数内部;在顶层使用会报错。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-10-13 · 分类: 开发者