INTERACTIVE LAB

systemsVIP0 次浏览 更新于 2026-09-30

Bash 函数

集中讲清 Bash 函数、local、参数、返回码和 stdout。

函数是什么

函数是可以重复调用的代码片段。它适合把一组相关命令包起来,比 alias 能表达更完整的逻辑:

greet() {
  echo "你好,$1"
}

greet "小明"

也可以写成 function greet { ... },但 name() { ...; } 更常见。函数定义后会在当前 Shell 中生效;查看定义可以用 declare -f greet,删除函数用 unset -f greet。

函数参数

函数参数和脚本参数的写法一样:$1 到 $9 是位置参数,${10} 用来访问第十个参数,$# 是参数数量,"$@" 是全部参数。

print_files() {
  for file in "$@"; do
    printf '%s\n' "$file"
  done
}

print_files "a file.txt" "b.txt"

参数中可能有空格时,遍历一定要写 "$@",不要裸写 $@。

local 与变量作用域

函数里直接赋值的变量默认仍是全局变量,这很容易让函数互相污染。用 local 声明局部变量:

该实验为 VIP 专享内容,
请开通后继续阅读后续 70% 并运行完整示例~

DISCUSSION

评论 0

还没有评论,来留下第一条吧。