首页 > 代码库 > 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选项都被启用。只读。

SHLVL

每次一个新的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。只读。