函数是什么
函数是可以重复调用的代码片段。它适合把一组相关命令包起来,比 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% 并运行完整示例~
请开通后继续阅读后续 70% 并运行完整示例~
DISCUSSION
评论 0
还没有评论,来留下第一条吧。