Bash的变量
SHELL当前shell程序的路径。BASH_SUBSHELL当前在第几层子shell,从0开始数。CDPATH冒号分隔的目录列表,作为cd命令的搜索路径HOME当前用户的主目录IFSshell用来将文本字符串分割成字段的一系列字符MAIL当前用户收件箱的文件名( bash shell会检查这个文件,看看有没有新邮件)MAILPATH冒号分隔的当前用户收件箱的文件名列表( bash shell会检查列表中的每个文件,看看有没有新邮件)OPTARGgetopts命令处理的最后一个选项参数值OPTINDgetopts命令处理的最后一个选项参数的索引号PATHshell查找命令的目录列表,由冒号分隔PS1shell命令行界面的主提示符PS2shell命令行界面的次提示符BASH当前shell实例的全路径名BASH_ALIASES含有当前已设置别名的关联数组BASH_ARGC含有传入子函数或shell脚本的参数总数的数组变量BASH_ARCV含有传入子函数或shell脚本的参数的数组变量BASH_CMDS关联数组,包含shell执行过的命令的所在位置BASH_COMMANDshell正在执行的命令或马上就执行的命令BASH_ENV设置了的话,每个bash脚本会在运行前先尝试运行该变量定义的启动文件BASH_EXECUTION_STRING使用bash -c选项传递过来的命令BASH_LINENO含有当前执行的shell函数的源代码行号的数组变量BASH_REMATCH只读数组,在使用正则表达式的比较运算符=~进行肯定匹配( positive match)时,包含了匹配到的模式和子模式BASH_SOURCE含有当前正在执行的shell函数所在源文件名的数组变量BASH_SUBSHELL当前子shell环境的嵌套级别(初始值是0)BASH_VERSINFO含有当前运行的bash shell的主版本号和次版本号的数组变量BASH_VERSION当前运行的bash shell的版本号BASH_XTRACEFD若设置成了有效的文件描述符( 0、 1、 2),则’set -x’调试选项生成的跟踪输出可被重定向。通常用来将跟踪输出到一个文件中BASHOPTS当前启用的bash shell选项的列表BASHPID当前bash进程的PIDCOLUMNS当前bash shell实例所用终端的宽度COMP_CWORDCOMP_WORDS变量的索引值,后者含有当前光标的位置COMP_LINE当前命令行COMP_POINT当前光标位置相对于当前命令起始的索引COMP_KEY用来调用shell函数补全功能的最后一个键COMP_TYPE一个整数值,表示所尝试的补全类型,用以完成shell函数补全COMP_WORDBREAKSReadline库中用于单词补全的词分隔字符COMP_WORDS含有当前命令行所有单词的数组变量COMPREPLY含有由shell函数生成的可能填充代码的数组变量COPROC占用未命名的协进程的I/O文件描述符的数组变量DIRSTACK含有目录栈当前内容的数组变量EMACS设置为’t’时,表明emacs shell缓冲区正在工作,而行编辑功能被禁止ENV如果设置了该环境变量,在bash shell脚本运行之前会先执行已定义的启动文件(仅用于当bash shell以POSIX模式被调用时)EUID当前用户的有效用户ID(数字形式)FCEDIT供fc命令使用的默认编辑器FIGNORE在进行文件名补全时可以忽略后缀名列表,由冒号分隔FUNCNAME当前执行的shell函数的名称FUNCNEST当设置成非零值时,表示所允许的最大函数嵌套级数(一旦超出,当前命令即被终止)GLOBIGNORE冒号分隔的模式列表,定义了在进行文件名扩展时可以忽略的一组文件名GROUPS含有当前用户属组列表的数组变量histchars控制历史记录扩展,最多可有3个字符HISTCMD当前命令在历史记录中的编号HISTCONTROL控制哪些命令留在历史记录列表中HISTFILE保存shell历史记录列表的文件名(默认是.bash_history)HISTFILESIZE最多在历史文件中存多少行HISTTIMEFORMAT如果设置了且非空,就用作格式化字符串,以显示bash历史中每条命令的时间戳HISTIGNORE由冒号分隔的模式列表,用来决定历史文件中哪些命令会被忽略HISTSIZE最多在历史文件中存多少条命令HOSTFILEshell在补全主机名时读取的文件名称HOSTNAME当前主机的名称HOSTTYPE当前运行bash shell的机器IGNOREEOFshell在退出前必须收到连续的EOF字符的数量(如果这个值不存在,默认是1)INPUTRCReadline初始化文件名(默认是.inputrc)LANGshell的语言环境类别LC_ALL定义了一个语言环境类别,能够覆盖LANG变量LC_COLLATE设置对字符串排序时用的排序规则LC_CTYPE决定如何解释出现在文件名扩展和模式匹配中的字符LC_MESSAGES在解释前面带有$的双引号字符串时,该环境变量决定了所采用的语言环境设置LC_NUMERIC决定着格式化数字时采用的语言环境设置LINENO当前执行的脚本的行号LINES定义了终端上可见的行数MACHTYPE用“ CPU公司系统”( CPU-company-system)格式定义的系统类型MAPFILE一个数组变量,当mapfile命令未指定数组变量作为参数时,它存储了mapfile所读入的文本MAILCHECKshell查看新邮件的频率(以秒为单位,默认值是60)OLDPWDshell之前的工作目录OPTERR设置为1时, bash shell会显示getopts命令产生的错误OSTYPE定义了shell所在的操作系统PIPESTATUS含有前台进程的退出状态列表的数组变量POSIXLY_CORRECT设置了的话, bash会以POSIX模式启动PPIDbash shell父进程的PIDPROMPT_COMMAND设置了的话,在命令行主提示符显示之前会执行这条命令PROMPT_DIRTRIM用来定义当启用了\w或\W提示符字符串转义时显示的尾部目录名的数量。被删除的目录名会用一组英文句点替换PS3select命令的提示符PS4如果使用了bash的-x选项,在命令行之前显示的提示信息PWD当前工作目录RANDOM返回一个0~ 32767的随机数(对其的赋值可作为随机数生成器的种子)READLINE_LINE当使用bind –x命令时,存储Readline缓冲区的内容READLINE_POINT当使用bind –x命令时,表示Readline缓冲区内容插入点的当前位置REPLYread命令的默认变量SECONDS自从shell启动到现在的秒数(对其赋值将会重置计数器)SHELLbash shell的全路径名SHELLOPTS已启用bash shell选项列表,列表项之间以冒号分隔SHLVLshell的层级;每次启动一个新bash shell,该值增加1TIMEFORMAT指定了shell的时间显示格式TMOUTselect和read命令在没输入的情况下等待多久(以秒为单位)。默认值为0,表示无限长TMPDIR目录名,保存bash shell创建的临时文件UID当前用户的真实用户ID(数字形式)

本文全面介绍了Bash shell中各种预定义变量的功能与用途,包括环境变量、内部变量和特殊变量,帮助读者深入理解Bash shell的运行机制。
1029

被折叠的 条评论
为什么被折叠?



