默认情况下bash shell会用一些特定的环境变量来定义系统环境信息。用户可以使用Linux系统上默认定义的环境变量。bash shell是由Unix Bourne shell衍生出来的,所以它保留了后者中定义的环境变量。
变量 | 描述 |
---|---|
CDPATH | 冒号分隔的目录列表,作为cd命令的搜索路径 |
HOME | 当前用户的主目录 |
IFS | shell用来分隔文本字符串的一列字符 |
当前用户收件箱的文件名;bash shell会检查这个文件以查看是否有新邮件 | |
MAILPATH | 冒号分隔的当前用户收件箱的文件名列表;bash会检查列表中的每个文件以查看是否有新邮件 |
OPTARG | getopts命令处理的最后一个选项参数值 |
OPTIND | getopts命令处理的最后一个选项参数的索引号 |
PATH | 冒号分隔符的shell查找命令的目录列表 |
PS1 | shell命令行界面的主提示符 |
PS2 | shell命令行界面的次提示符 |
变量 | 描述 |
---|---|
BASH | 运行当前shell实例的全路径名 |
BASH_ALIASES | 当前已设置别名的关联数组 |
BASH_ARGC | 含有传给子函数或者shell脚本的参数总数的可变数组 |
BASH_ARGV | 含有传给子函数或者shell脚本的参数的可变数组 |
BASH_CMDS | shell执行过的命令的所在位置的关联数组 |
BASH_COMMAND | shell正在执行的命令或马上就执行的命令 |
BASH_ENV | 若预先设置该环境变量,每个bash脚本将在运行前先尝试执行该环境变量所指定的文件 |
BASH_EXECUTION_STRING | 通过bash -c选项传递过来的命令 |
BASH_LINENO | 含有当前执行的shell函数在源代码中行号的可变数组 |
BASH_REMATCH | 含有模式和它们通过正则表达式比较运算符=~匹配到的子模式的只读可变数组 |
BASH_SOURCE | 含有当前正在执行的shell函数的源码文件名的可变数组 |
BASH_SUBSHELL | 当前子shell环境的嵌套级别,初始值是0 |
BASH_VERSION | 当前运行的bash shell的版本号 |
BASH_VERSINFO | 含有当前运行的bash shell的主版本号和次版本号的可变数组 |
BASH_XTRACEFD | 若该变量被设置成有效的文件描述符(0,1,2),则'set -x'调试选项声称的跟踪输出可被重定向;通常用来跟踪输出并保存至某一文件中 |
BASHOPTS | 当前使能的bash shell选项的列表 |
BASHPID | 当前bash进程的PID |
COLUMNS | 当前bash shell实例所用终端的宽度 |
COMP_CWORD | 含有当前功能表位置的COMP_WORDS变量的索引值 |
COMP_LINE | 当前命令行 |
COMP_POINT | 当前光标位置相对于当前命令起始位置的索引 |
COMP_KEY | 用来调用shell函数补全功能的最后一个键值 |
COMP_TYPE | 代表尝试调用补全shell函数的补全类型的整数值 |
COMP_WORBREAKS | Readline库里做单词补全的词分隔符 |
COMP_WORDS | 含有当前命令行所有词的可变数组 |
COMPREPLY | 含有shell函数生成可能的填充字的可变数组 |
DIRSTACK | 含有目录栈当前内容的可变数组 |
EMACS | 设置为‘t’时,表明emacs shell缓冲区正在工作,无法编辑 |
EUID | 当前用户的有效用户ID |
FCEDIT | 供fc命令使用的默认编辑器 |
FIGNORE | 冒号分隔的作文件名补全时要忽略的后缀名列表 |
FUNCNAME | 当前执行的shell函数名称 |
GLOBIGNORE | 定义了文件名展开时忽略的文件名集合的冒号分隔的匹配模式列表 |
GROUPS | 含有当前用户属组列表的可变属组 |
histchars | 控制历史记录展开的字符,最多可有3个字符 |
HISTCMD | 当前命令在历史记录中的位置 |
HISTCONTROL | 用于控制将某些命令保存于历史记录中 |
HISTFILE | 保存shell历史记录列表的文件名(默认是.bash_history) |
HISTFILESIZE | 记录可在历史记录文件中保存的最大行数 |
HISTIGNORE | 冒号分隔的用来决定哪些命令不存进历史文件的匹配模式列表 |
HISTSIZE | 记录可在历史记录文件中保存的命令的最大数量 |
HOSTFILE | shell在补全主机名时所读取的文件的名称 |
HOSTNAME | 当前主机的名称 |
HOSTTYPE | 当前运行bash shell的机器种类,如x86_64 |
IGNOREOF | shell在退出前必须受到连续的EOF字符的数量。如果这个值不存在,默认是1 |
INPUTRC | readline初始化文件名(默认是,inputrc) |
LANG | shell的环境语言设置。如zh_CN.UTF-8或en_US.UTF-8 |
LC_ALL | 定义一个语言环境,以覆盖LANG变量 |
LC_COLLATE | 设置对字符串排序时所采用的对照表顺序 |
LC_CTYPE | 系统内有效的字符以及这些字符的分类 |
LC_MESSAGES | 设置shell提示信息的语言种类 |
LC_NUMERIC | 决定格式化数字时的所使用的语言环境种类 |
LINENO | 当前执行的脚本语句在脚本文件中行号 |
LINES | 定义了终端上可见的行数 |
MACHTYPE | 以“cpu-公司-系统”的格式定义的系统类型,如i386-rehat-linux-gnu |
MAILCHECK | shell查收新邮件的频率(以秒为单位,默认值是60) |
OLDPWD | 记录之前所在的路径 |
OPTERR | getops所需的环境变量。设置为1时,bash shell将显示getopts命令产生的报错 |
OSTYPE | 当前操作系统的种类,如linux-gnu |
PIPESTATUS | 含有前端进程退出状态码列表的可变数组 |
POSIXLY_CORRECT | 置为“TRUE”时,bash将以POSIX模式启动 |
PPID | bash shell父进程的PID |
PROMPT_COMMAND | 设置在命令行主提示符显示之前将执行该变量所记录的命令 |
PROMPT_DIRTRIM | 用来定义当启用了\w或\W提示符字符串转义时显示的尾部目录名数。删除的目录名将用一组英语句点替换 |
PS3 | select命令的提示符 |
PS4 | 如果使用了bash的-x参数。在命令行显示之前显示的提示符 |
PWD | 当前工作目录 |
RANDOM | 返回一个0~32767的随机数;对其赋值可作为随机数生成器的种子 |
REPLY | read命令的默认变量 |
SECONDS | 自从shell启动到现在的秒数;对其赋值将会重置计数器 |
SHELL | bash shell的全路径名 |
SHELLOPTS | 以冒号分隔的打开的bash shell选项列表 |
SHLVL | shell的级别;每启动一个新的子bash shell,该变量的值增加1 |
TIMEFORMAT | 指定了shell显示时间值的格式 |
TMOUT | select和read命令在没输入的情况下等待多久(以秒为单位)。默认值为0,表示无限长 |
TMPDIR | bash shell创建的临时文件的目录名 |
UID | 当前用户的真实用户ID |