Bash 特殊变量用于获取脚本执行信息、参数处理、进程管理等。

参数相关

变量含义
$0脚本名称或路径
$1, $2第 1、2…个参数
$#参数个数
$@所有参数(独立字符串)
$*所有参数(单个字符串)

进程相关

变量含义
$$当前进程 PID
$!最后一个后台进程 PID
$?上一命令退出状态码(0=成功)

其他常用

变量含义
$_上一命令的最后一个参数
$IFS内部字段分隔符
$LINENO当前行号
$RANDOM0-32767 随机数
$SECONDS脚本运行秒数
$EUID有效用户 ID
$UID用户 ID

示例

#!/bin/bash
echo "脚本名: $0"
echo "参数个数: $#"
echo "所有参数: $@"
echo "当前 PID: $$"
 
if [ $# -ne 2 ]; then
    echo "用法: $0 <参数1> <参数2>"
    exit 1
fi
 
echo "第一个参数: $1"
echo "第二个参数: $2"