【Linux | Shell命令】Linux 环境变量

时间:2025-04-01 08:36:34
BASH bash shell 当前实例的完整路径名
BASH_ALIASES 关联数组,包含当前已设置的别名
BASH_ARGC 数组变量,包含传入函数或 shell 脚本的参数个数
BASH_ARCV 数组变量,包含传入函数或 shell 脚本的参数
BASH_ARCV0 包含 shell 的名称或 shell 脚本的名称(如果在脚本中使用的话)
BASH_CMDS 关联数组,包含 shell 已执行过的命令的位置
BASH_COMMAND 正在执行或将要执行的 shell 命令
BASH_COMPAT 指定 shell 兼容级别的值
BASH_ENV 如果设置的话, bash 脚本会在运行前先尝试运行该变量定义的启动文件
BASH_EXECUTION_STRING 使用 bash 命令的-c 选项传递过来的命令
BASH_LINENO 数组变量,包含当前正在执行的 shell 函数在源文件中的行号
BASH_LOADABLE_PATH 以冒号分隔的目录列表, 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
CHILD_MAX 设置 shell 能够记住的已退出子进程状态的数量
COLUMNS bash shell 当前实例所用的终端显示宽度
COMP_CWORD 变量 COMP_WORDS 的索引,其中包含当前光标的位置
COMP_LINE 当前命令行
COMP_POINT 相对于当前命令起始处的光标位置索引
COMP_KEY 用来调用 shell 函数补全功能的最后一个按键
COMP_TYPE 一个整数值,指明了用以完成 shell 函数补全所尝试的补全类型
COMP_WORDBREAKS Readline 库中用于单词补全的分隔符
COMP_WORDS 数组变量,包含当前命令行所有单词
COMPREPLY 数组变量,包含由 shell 函数生成的可能的补全代码
COPROC 数组变量,包含用于匿名协程 I/O 的文件描述符
DIRSTACK 数组变量,包含目录栈的当前内容
EMACS 设置为’t’时,表明 emacs shell 缓冲区正在工作,行编辑功能被禁止
EPOCHREALTIME 包含自 Unix 纪元时( 1970 年 1 月 1 日 00:00:00 UTC)以来的秒数,包括微秒
EPOCHSECONDS 包含自 Unix 纪元时( 1970 年 1 月 1 日 00:00:00 UTC)以来的秒数,不包括微秒
ENV 如果设置,则会在 bash shell 脚本运行之前先执行已定义的启动文件(仅当 bash shell 以 POSIX 模式被调用时)
EUID 当前用户的有效用户 ID(数字形式)
EXECIGNORE 以冒号分隔的过滤器列表,在使用 PATH 搜索命令时,用于决定要忽略的可执行文件(比如共享库文件)
FCEDIT 供 fc 命令使用的默认编辑器
FIGNORE 在进行文件名补全时可以忽略后缀名列表,以冒号分隔
FUNCNAME 当前正在执行的 shell 函数的名称
FUNCNEST 当设置成非 0 值时,表示所允许的函数最大嵌套级数(一旦超出,当前命令即被终止)
GLOBIGNORE 以冒号分隔的模式列表,定义了在进行文件名扩展时可以忽略的一组文件名
GROUPS 数组变量,包含当前用户的属组
histchars 控制历史记录扩展,最多可有 3 个字符
HISTCMD 当前命令在历史记录中的编号
HISTCONTROL 控制哪些命令留在历史记录列表中
HISTFILE 保存 shell 历史记录的文件名(默认是.bash_history)
HISTFILESIZE 历史记录文件( history file)能保存的最大命令数量
HISTIGNORE 以冒号分隔的模式列表,用于决定忽略历史文件中的哪些命令
HISTSIZE 能写入历史记录列表( history list)的最大命令数量
HISTTIMEFORMAT 如果设置且不为空,则作为格式化字符串,用于打印 bash 历史记录中命令的时间戳
HOSTFILE shell 在补全主机名时读取的文件名
HOSTNAME 当前主机的名称
HOSTTYPE 字符串,用于描述当前运行 bash shell 的机器
IGNOREEOF shell 在退出前必须连续接收到的 EOF 字符数量(如果该值不存在,则默认为 1)
INPUTRC Readline 的初始化文件名(默认为.inputrc)
INSIDE_EMACS 仅当进程在 Emacs 编辑器的缓冲区中运行时才设置,并且可以禁用行编辑(行编辑的禁用也取决于 TERM 变量的值)
LANG shell 的语言环境种类( locale category)
LC_ALL 定义语言环境种类,能够覆盖 LANG 变量
LC_COLLATE 设置字符串排序时采用排序规则
LC_CTYPE 决定如何解释出现在文件名扩展和模式匹配中的字符
LC_MESSAGES 决定在解释前面带有$的双引号字符串时采用的语言环境设置
LC_NUMERIC 决定格式化数字时采用的语言环境设置
LC_TIME 决定格式化日期和时间时采用的语言环境设置
LINENO 当前正在执行的脚本语句的行号
LINES 定义了终端上可见的行数
MACHTYPE 用“CPU–公司–系统”( CPU-company-system)格式定义的系统类型
MAILCHECK shell 应该多久检查一次新邮件(以秒为单位,默认为 60 秒)
MAPFILE 数组变量,当未指定数组变量作为参数时,其中保存了 mapfile 所读入的文本
OLDPWD shell 先前使用的工作目录
OPTERR 如果设置为 1,则 bash shell 会显示 getopts 命令产生的错误
OSTYPE 定义了 shell 所在的操作系统
PIPESTATUS 数组变量,包含前台进程的退出状态
POSIXLY_CORRECT 如果设置的话, bash 会以 POSIX 模式启动
PPID bash shell 父进程的 PID
PROMPT_COMMAND 如果设置的话,在显示命令行主提示符之前执行该命令
PROMPT_DIRTRIM 用来定义使用提示符字符串\w 和\W 转义时显示的拖尾( trailing)目录名的数量(使用一组英文句点替换被删除的目录名)
PS0 如果设置的话,指定了在输入命令之后、执行命令之前由交互式 shell 显示的内容
PS3 select 命令的提示符
PS4 在命令行之前显示的提示符(如果使用了 bash 的-x 选项的话)
PWD 当前工作目录
RANDOM 返回一个 0~ 32 767 的随机数(对该变量的赋值可作为随机数生成器的种子)
READLINE_LINE 当使用 bind –x 命令时,保存 Readline 缓冲区的内容
READLINE_POINT 当使用 bind –x 命令时,指明了 Readline 缓冲区内容插入点的当前位置
REPLY read 命令的默认变量
SECONDS 自 shell 启动到现在的秒数(对其赋值会重置计数器)
SHELL bash shell 的完整路径名
SHELLOPTS 以冒号分隔的已启用的 bash shell 选项
SHLVL shell 的层级,每启动一个新的 bash shell,该值增加 1
TIMEFORMAT 指定了 shell 的时间显示格式
TMOUT select 命令和 read 命令在无输入的情况下等待多久(以秒为单位,默认值为 0,表示一直等待)
TMPDIR 目录名,保存 bash shell 创建的临时文件
UID 当前用户的真实用户 ID(数字形式)