首页 > 代码库 > bash参考手册之五(shell变量)续三
bash参考手册之五(shell变量)续三
LINENO
当前在执行的脚本或者shell函数的行号。
LINES
命令select用来确定打印选择列表的列宽。收到SIGWINCH后,自动设置。
MACHTYPE
是一个字符串,描述了正在运行Bash的系统的类型,描述的格式符合GNU cpu-company-system 标准。
MAILCHECK
确定多长时间间隔(以秒为单位),shell要去由变量MAILPATH和MAIL的值指定的文件中,检查邮件。默认值是60秒。当检查邮件的时间到了,shell在显示提示符前执行检查动作。如果这个变量被取消设置,或者设置为一个小于等于0的数值,则shell不进行邮件检查。
MAPFILE
是一个数组变量,当运行内建命令mapfile时未指定变量名时,自动创建此变量,并在其中存储mapfile读取的文本。
OLDPWD
由内建命令cd设定的前一个工作目录。
OPTERR
如果设定值是1,则Bash显示由内建命令 getopts 产生的错误信息。
OSTYPE
是一个字符串,内容是Bash正在运行的操作系统的描述。
PIPESTATUS
是一个数组变量(参见 数组 章节),包含一个退出状态值的列表,状态值来自最近执行的前端管道(可能仅含有一个简单命令)进程。
POSIXLY_CORRECT
如果当Bash启动时,环境中有这个变量,则shell在读入启动文件前,进入POSIX模式(见 Bash POSIX模式 章节),就如同带有 --posix 选项。如果在shell运行过程中设定该变量,则bash进入POSIX模式,如同执行了这个命令:
set -o posix
PPID
shell的父进程的进程ID。只读。
PROMPT_COMMAND
如果设置了,此变量的值被当成一个命令,在每次打印提示符($PS1)之前执行该命令。
PROMPT_DIRTRIM
如果设定为大于0的数值,则该值被用于,在扩展 \w 和 \W 提示符字符串时,保留尾部目录组件的个数。(见 打印提示符 章节)被移除的字符以一个省略号代替。
PS3
此变量的值用于select命令的提示符。如果未设置,则select命令的提示符是 ‘#? ’。
PS4
当使用 -x 选项时,此变量的值用于在回显命令行之前打印提示。在有必要时,PS4的第一个字符被多次使用,以表明多层引用。默认值是‘+‘。
PWD
由内建命令cd设定的当前工作目录。
RANDOM
每次引用这个参数,就产生一个0-32767之间的随机整数。赋值给这个变量,则指定了随机数生成器的种子。
READLINE_LINE
Readline的行缓冲区的内容,结合命令 ‘bind -x’使用。(见 Bash内建命令)
READLINE_POINT
Readline的行缓冲区的插入点的位置,结合命令 ‘bind -x’使用。(见 Bash内建命令)
REPLY
内建命令read的默认变量。
SECONDS
这个变量扩展为shell启动后经过的秒数。赋值给这个变量会重置计数值到所赋的值,而扩展的值变成了所赋值加上从赋值时开始经历的秒数。
SHELL
这个环境变量保存shell的全路径名。如果shell启动时没有设置此变量,Bash把它设置为当前用户的登录shell的全路径名。
SHELLOPTS
冒号分隔的启用的shell选项列表。列表中的每个字都是内建命令 set 的 -o 选项的有效参数(见 内建命令Set)。SHELLOPTS中出现的选项,是那些命令 ‘set -o’ 报告为 on 的选项。如果Bash启动时,环境中有此变量,则在读取启动文件前,列表里的每个shell选项都被启用。只读。
每次一个新的Bash实例启动时加1。代表了Bash的嵌套深度。
TIMEFORMAT
此变量的值用于格式化字符串,以确定如何显示时间信息——对于带有time保留字前缀的管道命令。‘%’字符引入一个逃逸序列,以扩展为时间值或者其他信息。逃逸序列和它们的含义如下,方括号表示可选部分。
%%
字符‘%’。
%[p][l]R
已经消耗的时间,以秒为单位。
%[p][l]U
用户模式的CPU的秒数。
%[p][l]S
系统模式的CPU的秒数。
%P
CPU百分比,等于(%U + %S) / %R。
选项p是数字,以指定精度,是小数点后面的位数。值0则不输出小数点及以后的数字。可以指定小数点后的3位,大于3的数被修改为3。如果未指定p,则使用3。
选项l指定了长格式,包括分钟,形式为MMmSS.FFs。选项p决定是否显示小数部分。
如果此变量未设置,则Bash视作如下的值:
$‘\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS‘
如果值是空,则不显示时间信息。当显示格式化字符串时,行尾增加一个换行符。
TMOUT
如果设定值大于0,TMOUT被当作内建命令read的默认超时时间(见 Bash内建命令)。当输入来自终端时,如果超过TMOUT的秒数没有获得输入,则select 命令(见 条件结构)终止。
在交互shell中,此值被视作在显示提示符后,交互shell等待的秒数。如果在该秒数之后,仍没有输入,则Bash退出。
TMPDIR
如果设置,则Bash使用此值作为给shell创建临时文件的目录名。
UID
当前用户的数字形式的用户ID。只读。