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

5.2 Bash变量


下面这些变量在Bash中设置或者使用,其他shell一般不会处理这些变量。
Bash使用的一些变量也在其他章节介绍:例如,控制作业的工具使用的变量,请参看‘作业控制变量’。
BASH

执行当前Bash实例的全路径名。

BASHOPTS

冒号分隔的已启用的shell选项列表。列表中的每个单词都是内建命令shopt -s 的有效参数(参看‘shopt内建命令’)。BASHOPTS中出现的选项,都是执行shopt命令时,显示状态为‘on’的那些。当Bash启动时,如果这个变量在环境中,在读入启动文件前,列表中的每个shell选项都会被启用。该变量是只读的。

BASHPID

扩展为当前Bash进程的进程ID。在某些情况下和$$的结果不同,例如不需要Bash重新初始化的子shell。

BASH_ALIASES

一个关联数组变量,其成员对应内部别名列表,该列表由内建命令alias维护。(参看‘Bourne Shell内建命令’)。增加到这个数组的元素会出现在别名列表中,删除数组元素,则对应地从别名列表中移除了相应的别名。

BASH_ARGC

一个数组变量,其值为当前bash执行调用堆栈中的每个帧中的参数个数。当前子程序(使用 . 或者source执行的shell函数或者脚本)的参数个数位于堆栈的顶部。当执行一个子程序时,传入的参数个数被压入BASH_ARGC顶部。shell仅仅在扩展调试模式时才设置这个变量。(请参看'shopt内建'章节,对extdebug选项的描述)

BASH_ARGV

是一个数组变量,包含当前bash执行调用堆栈中的所有参数。最后一个子程序调用的最后一个参数在堆栈的顶部;初始呼叫的第一个参数在底部。一个子程序被执行时,它的参数被压入BASH_ARGV。shell仅在扩展调试模式时设置BASH_ARGV,(见shopt内建命令关 于extdebug选项的描述)。

BASH_CMDS

是一个数组变量,包含的成员对应于由hash内建命令维护的那些命令的内部hash表(见bourne shell内建命令)。增加到这个数组的元素会出现在hash表中,在这个数组中删除的元素也从hash表中被删除。

BASH_COMMAND

当前正在执行的或者正要执行的命令,除非shell因为陷阱正在执行一条命令,在这种情况下是发生陷阱时正在执行的命令。

BASH_ENV

如果这个变量被设置,当Bash被调用去执行一个shell脚本时,它的值被扩展,并在脚本执行之前作为启动文件读取,见Bash启动文件。

BASH_EXECUTION_STRING

-c调用选项的命令参数。

BASH_LINENO 

是一个数组变量,它的成员是源文件中的行号,每个行号对应被调用的FUNCNAME的成员。${BASH_LINENO[$i]} 是源文件 (${BASH_SOURCE[$i+1]})中,${FUNCNAME[$i]}被调用时的行号,(或者,如果在另一个shell函数中引用,是${BASH_LINENO[$i-1]})。使用LINENO获取当前的行号。

BASH_REMATCH

是一个数组变量,它的成员是使用 ‘=~’ 二进制操作符作用于 [[ 条件命令(见条件构造)的结果。索引0的元素是匹配整个正则表达式的那部分字符串。索引n的元素是匹配第n个括号子表达式的那部分字符串。此变量是只读的。

BASH_SOURCE 

是一个数组变量,它的成员是源文件名,其中定义的的shell函数名对应于FUNCNAME数组变量。shell函数${FUNCNAME[$i]}在${BASH_SOURCE[$i]}文件中定义,并且从${BASH_SOURCE[$i+1]}调用。 

BASH_SUBSHELL

每产生一个子shell或者子shell环境时,增加1。初始值是0。

BASH_VERSINFO 

是一个只读数组变量(见数组),它的成员保存着当前Bash实例的版本信息。数组成员如下:

BASH_VERSINFO[0] 

主要的版本号(发行版)。

BASH_VERSINFO[1]

次要的版本号(发行版)。

BASH_VERSINFO[2]

补丁号。

BASH_VERSINFO[3]

构造版本。

BASH_VERSINFO[4]

发行版状态(例如,beta1)。

BASH_VERSINFO[5]

MACHTYPE的值。

BASH_VERSION

当前Bash实例的版本号。

BASH_XTRACEFD

如果设置为对应于一个有效的文件描述符的一个整数,当‘set -x’ 启用时,Bash将把生成的跟踪输出到那个文件描述符。这样就可以把跟踪输出内容中的诊断和错误信息分开。当BASH_XTRACEFD被取消时,或者设置到一个新值时,该文件描述符被关闭。取消BASH_XTRACEFD或着设置为空串,会把跟踪输出发送到标准错误。注意,设置BASH_XTRACEFD到2(标准错误文件描述符),然后取消设置,会造成标准输出被关闭。

COLUMNS

当打印选择列表时,由select命令用来决定终端宽度。当收到SIGWINCH信号时,自动设置。

COMP_CWORD

是一个索引,包含当前光标位置的字${COMP_WORDS}。这个变量仅在由可编程完成工具调用shell函数时可用。(见可编程完成)

COMP_LINE
当前命令行。这个变量仅在shell函数和外部命令是由可编程完成工具调用的情况下可用。(见可编程完成)
COMP_POINT
当前命令开始时的当前光标位置。如果当前光标位置在当前命令的尾部,变量值等于${#COMP_LINE}。这个变量仅在shell函数和外部命令 是由可编程完成工具调用的情况下可用。(见可编程完成)
COMP_TYPE
设置为一个整数值,对应于试图完成的类型(该完成将调用一个完成函数):对于一般完成是TAB,对于后续tabs之后的列表完成是‘?’,对于部 分字完成上的列表选择是‘!’,如果字未被修改则是列表完成,或者,对于菜单完成是 ‘%’。这个变量仅在shell函数和外部命令是由可编 程完成工具调用的情况下可用。(见可编程完成)
COMP_KEY
用来调用当前完成函数的键,(或者键序列的最后的键)。
COMP_WORDBREAKS
一组字符,执行字完成时,被Readline库当作字分割符。如果COMP_WORDBREAKS取消设置,则它失去它的特殊属性,即使它随后被重置了。
COMP_WORDS
是一个数组变量,由当前命令行中的独立字组成。该行按Readline分割方式,使用COMP_WORDBREAKS分割。这个变量仅在shell函数和外部 命令是由可编程完成工具调用的情况下可用。(见可编程完成)
COMPREPLY
是一个数组变量,Bash从中读取由shell函数和可编程完成工具调用产生的可能的完成。(见可编程完成)
COPROC
是一个数组变量,用来保存用于输出和输入的未命名coprocess。(见协同进程)
DIRSTACK
是一个数组变量,包含目录堆栈的当前内容。堆栈中出现的目录,按照dirs内建命令的显示结果顺序显示。给这个变量的成员赋值,可以 用来修改堆栈中的目录,但是必须使用pushd和popd内建命令来增加和删除目录。对这个变量的赋值,不会改变当前的目录。如果DIRSTACK取消设置,则它失去它的特殊属性,即使它随后被重置了。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值