Linux shell内置变量
shell 内部自定义的信号(伪信号)
EXIT 从一个函数中退出或整个脚本执行完毕 ERR 当一条命令返回非零状态时(代表命令执行不成功) DEBUG 脚本中每一条命令执行之前
Bash Shell 环境变量
变量 说明 $* 含有所有命令行参数(以单个文本值的形式) $@ 含有所有命令行参数(以多个文本值的形式) $# 命令行参数数目 $? 最近使用的前台进程的退出状态码 $- 当前命令行选项标记 $$ 当前shell的进程 ID (PID) $! 最近执行的后台进程的 PID $0 命令行中使用的命令名称 $_ shell 的绝对路径名 BASH 用来调用 shell 的完整文件名 BASHOPTS 允许冒号分隔列表形式的 Shell 选项 BASHPID 当前 bash shell 的进程 ID BASH_ALIASED 含有当前所用别名的数组 BASH_ARGC 当前子函数中的参数数量 BASH_ARGV 含有所有指定命令行参数的数组 BASH_CMDS 含有命令的内部散列表的数组 BASH_COMMAND 当前正在被执行的命令名 BASH_ENV 如果设置了的话,每个 bash 脚本都会尝试在运行前执行由该变量定义的起始文件 BASH_EXECUTION_STRING 在 -c 命令行选项中用到的命令 BASH_LINENO 含有脚本中每个命令的行号的数组 BASH_REMATCH 含有与指定的正则表达式匹配的文本元素的数组 BASH_SOURCE 含有 shell 中已声明函数所在源文件名的数组 BASH_SUBSHELL 当前 shell 生成的子 shell 数目 BASH_VERS INFO 含有当前 bash shell 实例的主版本号和次版本号的数组 BASH_VERS ION 当前 bash shell 实例的版本号 BASH_XTRACEFD 当设置一个有效的文件描述符整数时,跟踪输出生成,并与诊断和错误信息分离开文件描述符必须设置 -x 启动 COLUMNS 含有当前 bash shell 实例使用的终端的宽度 COMP_CWORD 含有变量 COMP_WORDS 的索引直,COMP_WORDS 包含当前光标所在的位置 COMP_KEY 调用补全功能的按键 COMP_LINE 当前命令行 COMP_POINT 当前光标位置相对干当前命令起始位置的索引 COMP_TYPE 补全类型所对应的整数值 COMP_WORDBREAKS 在进行单词补全时闬作单词分隔符的一组字符 COMP_WORDS 含有当前命令行上所有单词的数组 COMPREPLY 含有由 shell 函数生成的可能补全码的数组 COPROC 含有若干匿名协程 I/O 的文件描述符的数组 DIRSTACK 含有目录栈当前内容的数组 EMACS 如果设置了该环境变量,则 shell 认为其使用的是 emacs shell 缓冲区,同时禁止行编辑功能 ENV 当 shell 以 POSIX 模式调用时,每个 bash 脚本在运行之前都会执行由该环境变量所定义的起始文件 EUID 当前用户的有效用户 ID(数字形式) FCEDIT fc 命令使用的默认编辑器 FIGNORE 以冒号分隔的后缀名列表,在文件名补全时会被忽略 FUNCNAME 当前执行的 shell 函数的名称 FUNCNEST 嵌套函数的最髙层级 GLOBIGNORE 以冒号分隔的模式列表,定义了文件名展开时要忽略的文件名集合 GROUPS 含有当前用户属组的数组 histchars 控制历史记录展开的字符(最多可有3个) HISTCMD 当前命令在历史记录中的编号 HISTCONTROL 控制哪些命令留在历史记录列表中 HISTFILE 保存 shell 历史记录列表的文件名(默认是 .bash_history) HISTFILESIZE 保存在历史文件中的最大行数 HISTIGNORE 以冒号分隔的模式列表,用来决定哪些命令不存进历史文件 HISTSIZE 最多在历史文件中保存多少条命令 HISTIMEFORMAT 设置后,决定历史文件条目的时间戳的格式字符串 HOSTFILE 含有 shell 在补全主机名时读取的文件的名称 HOSTNAME 当前主机的名称 HOSTTYPE 当前运行 bash shell 的机器 IGNOREEOF shell 在退出前必须收到连续的 EOF 字符的数量。如果这个值不存在,默认是 1 INPUTRC readline 初始化文件名(默认是 .inputrc) LANG shell 的语言环境分类 LC_ALL 定义一个语言环境分类,它会覆盖 LANG 变量 LC_COLLATE 设置对字符串值排序时用的对照表顺序 LC_CTYPE 决定在进行文件名扩展和模式匹配时,如何解释其中的字符 LC_MESSAGES 决定解释前置美元符($)的双引号字符串的语言环境设置 LC_NUMERIC 决定格式化数字时的所使用的语言环境设置 LINENO 脚本中当前执行代码的行号 LINES 定义了终端上可见的行数 MACHTYPE 用"cpu-公司-系统"格式定义的系统类型 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 如果设置该环境变量,在显示命令行主提示符之前会执行这条命令 PS1 主命令行提示符字符串 PS2 次命令行提示符字符串 PS3 select 命令的提示符 PS4 如果使用了 bash 的 -x 选项,在命令行显示之前显示的提示符 PWD 当前工作目录 RANDOM 返回一个 0~32 767 的随机数,对其赋值可作为随机数生成器的种子 READLINE_LINE 保存了 readline 行缓冲区中的内容 READLINE_POINT 当前 readline 行缓冲区的插入点位置 REPLY read 命令的默认变量 SECONDS 自 shell 启动到现在的秒数,对其赋值将会重置计时器 SHELL shell 的全路径名 SHELLOPTS 已启用 bash shell 选项列表,由冒号分隔 SHLVL 表明 shell 层级,每次启动一个新的 bash shell 时计数加 1 TIMEFORMAT 指定了 shell 显示的时间值的格式 TMOUT select 和 read 命令在没输入的情况下等待多久(以秒为单位)。默认值为零,表示无限长 TMPDIR 如果设置成目录名,shell 会将其作为临时文件目录 UID 当前用户的真实用户 ID (数字形式) $(nproc) 获取CPU内核数量
参考、来源:
https://blog.csdn.net/qq_43491149/article/details/122826110
https://developer.baidu.com/article/details/3248112
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!