什么是预定义变量
?
- 可以直接使用这些变量。
- 不能直接为这些变量赋值。
变量名 | 含义 |
$0 |
当前所在的进程或脚本名 |
$$ |
当前运行进程的 PID 名 |
$? |
获得上一条命令的执行状态,跟上上条命令无关,0 表示正常,1 或 其他值 表示异常 |
$# |
已加载的位置变量的个数,也就是执行脚本时,后面跟的参数个数 |
$* |
所有位置变量的值,也就是执行脚本时,后面跟的参数 |
$?
举例:
// 运行正常 $ ls test.sh $ echo $? 0 // 运行异常 $ ls dzm.txt ls: dzm.txt: No such file or directory $ echo $? 1
- 综合举例
# 脚本内容 echo $0 echo $$ echo $? echo $# echo $*
$ sh test.sh aa bb cc test.sh 33616 0 3 aa bb cc