Shell 脚本进阶:函数与常见陷阱
前言 会写脚本和写好脚本之间,隔着无数深夜的坑。这篇把 Bash 的函数进阶用法和那些"约定俗成但没人明说"的陷阱一次讲清。 一、函数的正确写法 #!/usr/bin/env bash # 定义(function 关键字可省, 括号必须有) function log() { # local 变量: 不污染全局 —— 函数内赋值一律 local! local level=$1 msg=$2 printf '[%s] [%s] %s\n' "$(date '+%F %T')" "$level" "$msg" } # 调用(参数像脚本参数一样传) log INFO "服务启动" log ERROR "连接超时" 参数与返回值: ...