张芷铭的个人博客

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

参数相关

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

进程相关

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

其他常用

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

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/bin/bash
echo "脚本名: $0"
echo "参数个数: $#"
echo "所有参数: $@"
echo "当前 PID: $$"

if [ $# -ne 2 ]; then
    echo "用法: $0 <参数1> <参数2>"
    exit 1
fi

echo "第一个参数: $1"
echo "第二个参数: $2"

Comments