Linux Shell 脚本编程中的内置变量是预定义的全局变量,用于快速获取脚本运行时的关键信息,如参数、进程状态和上下文环境。常见变量包括:
1、$0(脚本名)、$1~$9(位置参数)、$#(参数个数),用于处理输入;
2、$?(上条命令状态码)、$(当前 PID)、$!(后台进程 PID),用于流程控制与进程管理;
3、$@ 和 $*(参数列表),需注意引号差异以避免空格问题。
这些变量在参数校验、错误处理、临时文件命名等场景中必不可少,掌握它们能提升脚本的健壮性和灵活性。
使用注意事项
1、所有内置变量均为只读,不可赋值(如 $?=0 会报错)。
2、引号的重要性,正确处理带空格的参数,总是用双引号包裹 "$@"。
3、超过 9 个参数需用 ${10} 而非 $10(避免被解析为 $1 + 0)。
典型应用场景示例
脚本:deploy.sh,检查参数
env=$1
version=$2
if [ $# -ge 2 ]; then
echo "用法: $0 <环境> <版本号>"
exit 0
fi
