Linux中默认的环境变量

默认情况下,bash shell会用一些特定的环境变量来定义系统环境。这些变量在你的Linux系统上都已经设置好了,只管放心使用。bash shell源自当初的Unix Bourne shell,因此也保留了UnixBourne shell里定义的那些环境变量。
表6-1列出了bash shell提供的与Unix Bourne shell兼容的环境变量。

变 量描 述
CDPATH冒号分隔的目录列表,作为cd命令的搜索路径
HOME当前用户的主目录
IFSshell用来将文本字符串分割成字段的一系列字符
MAIL当前用户收件箱的文件名(bash shell会检查这个文件,看看有没有新邮件)
MAILPATH冒号分隔的当前用户收件箱的文件名列表(bash shell会检查列表中的每个文件,看看有没有新邮件)
OPTARGgetopts命令处理的最后一个选项参数值
OPTINDgetopts命令处理的最后一个选项参数的索引号
PATHshell查找命令的目录列表,由冒号分隔
PS1shell命令行界面的主提示符
PS2shell命令行界面的次提示符

除了默认的Bourne的环境变量,bash shell还提供一些自有的变量,如表6-2所示。

变 量描 述
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进程的PID
COLUMNS当前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父进程的PID
PROMPT_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,该值增加1
TIMEFORMAT指定了shell的时间显示格式
TMOUTselect和read命令在没输入的情况下等待多久(以秒为单位)。默认值为0,表示无限长
TMPDIR目录名,保存bash shell创建的临时文件
UID当前用户的真实用户ID(数字形式)

你可能已经注意到,不是所有的默认环境变量都会在运行set命令时列出。尽管这些都是默认环境变量,但并不是每一个都必须有一个值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值