shell内部变量
$SHELL 显示当前系统用的shell
$BASH 显示bash路径
$BASH_SUBSHELL 提示当前subshell的层次
$BASH_VERSION 显示bash版本
$BASH_VERSINFO[n] 显示bash安装信息的一个6元素数组,与$BASH_VERSION 很像
$DIRSTACK 、$PWD 结果 等于dirs命令结果
$EDITOR 脚本调用的默认编辑器
$EUID “effective”用户ID号
$FUNCNAME 当前函数名字
$GROUPS 当前用户属于的组
$UID 用户ID号
$HOME 用户home目录
$HOSTNAME 系统主机名
$IFS 内部域分隔符,默认为空白(空格、tab、新行)
$LINENO 记录它所在脚本中它所在行和行号,一般用于调度
$MACHTYPE 显示系统类型,系统架构
$OLDPWD 老的工作目录
$OPTYPE 操作系统类型
$PATH 指向Bash外部命令所在位置,系统在它指向的目录下搜索命令
$PPID 父进程的进程ID
$PROMT_COMMAND 保存一个在主提示符显示之前需要执行的命令
$PS1 主提示符
$PS2 第二提示符,当需要额外输入时显示,默认为">"
$PS3 第三提示符,在一个select循环中显示
$PS4 第四提示符,当使用-x选项调用脚本时,这个提示符将出现在每行的输出前边,默认为"+"
$REPLY read命令如果没有给变量,那么输入将保存在$REPLY 中.在select 菜单中也可用,但是只
提供选择的变量的项数,而不是变量本身的值.
$SECONDS 这个脚本已经运行的时间(单位为秒).
$SHELLOPTS 保存shell允许的选项
$SHLVL shell层次
$TMOUT 如果$TMOUT 环境变量被设置为一个非零的时间值,那么在过了这个指定的时间之后,
shell提示符将会超时,这会引起一个logout.
5.预定义变量,适用所有shell,无法更改
$# 取出位置参数个数
$* 取出所有位置参数内容
$? 判断上一次命令执行结果是否正确,0代表正确,非0则不代表不正确
$$ 当前进程进程号
$! 后台运行的最后一进程号
$0 取出脚本名子
$1、$2、$3……位置参数
脚本位置参数个数如果超过9要用{}括起来,如${10}
$_ 保存之前执行的命令的最后一个参数