Bash变量详解:环境变量与自定义变量

需积分: 5 0 下载量 125 浏览量 更新于2024-08-04 收藏 14KB MD 举报
"Bash变量的笔记,主要涵盖了环境变量和自定义变量的介绍。" 在Bash shell中,变量是用来存储数据的容器,分为环境变量和自定义变量两种类型。 ### 环境变量 环境变量是Bash环境中预定义的、全局的变量,它们在用户启动Shell时就已经存在,并且可以被子Shell继承。通过`env`或`printenv`命令,用户可以查看当前Shell的所有环境变量。以下列举了一些常见的环境变量及其用途: - `BASHPID`:当前Bash进程的唯一标识符。 - `BASHOPTS`:包含了Bash shell的选项设置,可通过`shopt`命令来更改。 - `DISPLAY`:指定用于图形界面的显示器名称,通常为`:0`,对应X Window系统的第一个显示器。 - `EDITOR`:定义用户默认的文本编辑器。 - `HOME`:用户的主目录路径。 - `HOST`:主机的名称。 - `IFS`(Internal Field Separator):定义词的分隔符,默认为空格、制表符和换行符。 - `LANG`:设置字符集和语言编码,如`zh_CN.UTF-8`。 - `PATH`:包含可执行文件路径的列表,用于命令查找。 - `PS1`:主提示符,用户交互时显示的提示符。 - `PS2`:当输入多行命令时,显示的次要提示符。 - `PWD`:当前工作目录。 - `RANDOM`:每次访问时返回0到32767之间的一个随机整数。 - `SHELL`:当前Shell的完整路径。 - `SHELLOPTS`:记录启动当前Shell时`set`命令的参数。 - `TERM`:描述终端类型,影响某些命令的行为。 - `UID`:当前用户的唯一标识符。 - `USER`:当前登录用户的用户名。 - 其他环境变量还包括只读常量等,它们通常用大写字母表示,用户自定义常量也遵循此规则。 查看特定环境变量的值,可以使用`printenv`命令,如`printenv PATH`,或者通过`echo`命令配合 `$` 符号,如`echo $PATH`。 ### 自定义变量 自定义变量是用户在当前Shell会话中创建的局部变量,它们只存在于当前Shell实例中,当Shell关闭时,这些变量将不再存在。可以通过赋值操作创建自定义变量,例如`MY_VAR="my_value"`。`set`命令可以显示所有变量(包括环境变量和自定义变量)以及Bash函数,但请注意,自定义变量在子Shell中不可见,除非通过`export`命令将其设置为环境变量。 自定义变量的命名与环境变量一样,区分大小写。要查看自定义变量的值,可以使用`echo`命令,例如`echo $MY_VAR`。 了解并熟练掌握Bash变量的使用对于编写脚本和进行终端操作至关重要,因为它允许你存储和处理数据,提供了一种灵活的方式来定制和控制Shell的行为。通过合理利用环境变量和自定义变量,可以实现更高效的工作流程。