首页 > 代码库 > bash参考手册之五(shell变量)续二

bash参考手册之五(shell变量)续二

EMACS
如果Bash在shell启动时,在环境中发现这个变量的值是 ‘t’,则会认为shell在Emacs shell缓冲区中运行,而禁止行编辑。
ENV
类似于BASH_ENV,在shell以POSIX模式调用时使用。(见Bash POSIX模式)
EUID
当前用户的数字形式的有效用户ID。这个变量是只读的。
FCEDIT
内建命令fc带-e选项时的默认编辑器。
FIGNORE
冒号分隔的后缀列表,该列表的内容在执行文件名完成时忽略。一个文件名的后缀匹配FIGNORE中的一个元素时,则该文件名从匹配文件名列表中排除。示例值:‘.o:~’。
FUNCNAME
是一个数组变量,包含当前在执行调用堆栈中的所有shell函数。索引0的元素是任何当前正在执行的shell函数的名字。最底部(具有最大索引)的元素是 "main"。这个变量仅当shell函数执行时才存在。向FUNCNAME赋值没有效果,并且返回一个错误状态。如果FUNCNAME被取消设置,它失去它的特殊属性,即使随后被重新设定。
这个变量可以和BASH_LINENO与 BASH_SOURCE 同时使用。FUNCNAME的每个元素对应于BASH_LINENO与 BASH_SOURCE 的内容,以描述调用堆栈。例如,${FUNCNAME[$i]} 在文件 ${BASH_SOURCE[$i+1]} 中的行号 ${BASH_LINENO[$i]} 处被调用。内建命令caller使用这些信息,显示当前调用堆栈。
FUNCNEST
如果设置一个大于0的数字,则定义了最大的函数嵌套层次。超过该值的函数调用将导致当前命令放弃执行。
GLOBIGNORE
是一个冒号分隔的模式列表,定义了文件名扩展时忽略的文件名集合。如果一个文件名即匹配文件名扩展的模式,同时也匹配GLOBIGNORE中的一个模式,则它将从匹配列表中移除。
GROUPS
是一个数组变量,包含当前用户所属组的列表。向GROUOS赋值没有效果,并且返回一个错误状态。如果GROUPS被取消设置,它失去它的特殊属性,即使随后被重新设定。
histchars

最多3个字符,以控制历史扩展,快速替换,和标记化(见历史交互)。第一个字符是 历史扩展 字符,标志着历史扩展的开始,一般是 ‘!’。第二个字符标志着 快速替换——当它是一行中的第一个字符时,一般是‘^’。可选的第三个字符,标志着该行剩下的内容是注释——当它是一个字的第一个字符时,一般是‘#’。历史注释字符,使得历史替换跳过那一行上的剩余字。它不是必要的,因为shell解释器会把剩余的部分按注释处理。

HISTCMD

当前命令的命令历史的序号,或者在命令历史中的索引。如果HISTCMD被取消设置,即使重新设置,也失去其特殊属性。

HISTCONTROL

冒号分割的一组值的列表,用来控制命令在历史列表中的存储方式。如果列表中包含‘ignorespace’,则以空格开头的命令行不会被存储到命令历史中。‘ignooredups’导致和已经存储在历史中的命令匹配的命令行不会被存储。‘ignoreboth’是‘ignoredups’和‘ignorespace’的简写。‘erasedups’导致在存储命令行前,删除历史中那些匹配该命令行的命令。所有不在上述列表中的值都被忽略。如果HISTCONTROL被取消设置,或者没有包含有效值,所有shell解释器读入的命令行都被存储到历史列表中,除了HISTIGNORE中的值以外。多行命令的第二行及以后的行都不做检查,忽略HISTCONTROL的设置,而加入到命令历史中。

HISTFILE

存储命令历史的文件名。缺省值是 ~/.bash_history。

HISTFILESIZE

历史文件中包含的命令行数的最大值。当此变量被赋值时,如果有必要,删除历史文件中最旧的内容,以使总行数不超过该值。另外,当交互式shell退出时,也删除历史文件中的内容,以不超过该值。缺省值是500。 

HISTIGNORE

冒号分割的模式列表,以确定哪个命令行应当存储到命令历史中。每一个模式都从行开头开始,并且必须匹配整个命令行(不追加隐含的‘*’)。每个模式检测,在完成HISTCONTROL测试之后进行。除了一般的shell模式匹配字符,‘&’匹配前一个历史命令行。‘&’可以使用反斜杠转义;在匹配之前,去掉反斜杠。多行命令的第二行及以后的行都不做检查,忽略HISTIGNORE的设置,而加入到命令历史中。

HISTIGNORE归入HISTCONTROL的函数。‘&’模式等同于‘ignoredups’,而‘[ ]*’等同于‘ignorespace’。组合这两个模式,并用冒号分割,就是‘ignoreboth’。

HISTSIZE

历史列表能存储的最大命令个数。缺省值是500。

HISTTIMEFORMAT

如果该变量被设置,且非空,则该值作为strftime的格式化字符串,用于在调用history内建命令时,在每个历史内容上,相应地打印时间戳。如果该变量被设置,则时间戳被写入到历史文件中,以使之可以在shell会话之间保持。使用历史注释字符区分时间戳和命令行。

HOSTFILE

包含一个文件的名字——此文件和/etc/hosts具有相同的格式,在shell完成一个hostname时,从此文件中读取信息。在shell运行时,hostname完成列表可能被改变;值被改变之后,在下一次试图进行hostname完成时,Bash把新文件的内容加入到现存的列表中。如果HOSTFILE被设置了,但是没有给定值,或者不是一个可读文件,Bash则试图读取/etc/hosts以获取hostname完成列表。当HOSTFILE被取消设置时,hostname列表被清除。

HOSTNAME

当前主机的名字。

HOSTTYPE 

一个字符串,描述了Bash正在运行的机器。

IGNOREEOF 

控制shell在遇到输入的独立的EOF字符时的动作。如果设置此变量,变量的值代表了,在shell退出前,从一个输入行中的开始位置,可以读入的连续的EOF字符的数量。如果变量存在,但是值不是数字类型的,或者没有值,则默认为10。如果此变量不存在,则EOF标志着对shell的输入结束。这个变量仅仅在交互式shell有效。

INPUTRC 

Readline初始化文件的名字,覆盖默认的~/.inputrc。

LANG 

用来决定那些没有以LC_开头的变量指定locale分类的内容的locale类别。

LC_ALL

此变量指定的locale类别,覆盖LANG和所有其他LC_开头的变量的值。

LC_COLLATE

此变量决定文件名扩展结果的排序规则,和决定范围表达式的行为,等价类,和文件名扩展的排序序列和模式匹配(见 文件名扩展)。

LC_CTYPE

此变量决定字符的解释和文件名扩展和模式匹配中字符类的行为(见 文件名扩展)。

LC_MESSAGES

此变量决定用于翻译以‘$‘开头的双引号字符串时的locale。(见 locale翻译)

LC_NUMERIC

此变量决定数字格式的locale类别。