Bash变量详解:环境变量与自定义变量
需积分: 5 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的行为。通过合理利用环境变量和自定义变量,可以实现更高效的工作流程。
2013-08-19 上传
2023-08-26 上传
2021-08-18 上传
2018-04-28 上传
2021-04-01 上传
2022-02-20 上传
2019-06-26 上传
2020-08-24 上传
2020-03-05 上传
demons98
- 粉丝: 0
- 资源: 1
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新