(22)Bash环境变量
1.环境变量是什么?
用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。
2.设置环境变量
(1)申明变量
[root@laptop~]# export 变量名=变量值
(2)查询变量(专门用来查询环境变量)
[root@laptop~]# env
(3)删除变量
[root@laptop~]# unset 变量名
3.环境变量、父Shell、子Shell
#ps命令能够给出当前系统中进程的快照[root@laptop~]# ps -f
例1.父Shell与子Shell的关系
①我们通过ps命令可以看到当前系统中只有一个bash,即为父shell
②要创建一个子shell程序,只需输入bash就会创建一个新的shell程序,被称为子shell。要区分是父shell还是子shell,使用ps命令即可。
同理,在子shell下输入bash,还可以再创建一个shell,即孙shell。
PS:在当前Shell中定义的变量,如果是本地变量,他只能在当前Shell中可以查看,如果是环境变量,不光可以在当前Shell中可以查看,在当前Shell的子Shell中也可以查看。
4、系统常见环境变量
⭐(1)PATH:系统查找命令的路径
①工作原理
在Linux中,执行文件要想运行(不管是系统命令还是自己写的脚本),都必须要用路径(绝对路径或相对路径)。但是大家有没有注意到,我们的系统命令并没有写路径就可以执行,这是为什么呢?原因是PATH这个环境变量,当你在输入一个命令时,系统会现在这个路径中找,直到找到为止,如果所有路径中都没找到,就会报错。比如输入“ls”这个命令时,系统会PATH路径下一个一个查找,直到在/bin下找到这个命令为止。
②PATH变量叠加
比如说我创建一个脚本,想要不加路径,直接输入脚本名就可以执行,我们可以把脚本保存的目录添加到PATH路径中,此时就需要用到PATH变量叠加。
但是这样更改只是临时生效,想要永久生效需要将其写入配置文件,至于如何操作,后面推文将会介绍。
(2)PS1:定义系统提示符的变量(用来改[root@localhost ~]# 这个显示)
①d:显示日期,格式为“星期 月 日”
②h:显示简写主机名。如默认主机名“localhost”
③t:显示24小时制时间,格式为“HH:MM:SS”
④T:显示12小时制时间,格式为“HH:MM:SS”
⑤A:显示24小时制时间,格式为“HH:MM”
⑥u:显示当前用户名
⑦w:显示当前所在目录的完整名称
⑧W:显示当前所在目录的最后一个目录
⑨#:执行的第几个命令
⑩$:提示符。如果是root用户会显示提示符为“#”,如果是普通用户 会显示提示符为“$”
例1:更改定义系统提示符
END
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 剑指offer第11题:机器人运动范围
- SQL 查找是否"存在",别再 count 了,很耗费时间的!
- 【LeeCode 中等 字节 python3】567. 字符串的排列
- Spark实现WordCount的几种方式总结
- Redis6之pub/sub发布与订阅(对比List和Kafka)
- SpringBoot原理?属性配置?在这里
- 【LeeCode 中等 矩阵】面试题 01.07. 旋转矩阵
- pytest文档44-allure.dynamic动态生成用例标题
- Java自动化测试(TestNg参数化 11)
- 宋宝华:论Linux的页迁移(Page Migration)上集
- 火遍全网的自热火锅哪款最好吃?我们用Python告诉你!
- 剑指offer第10题:矩阵中的路径
- 同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
- 使用PyTorch的TensorBoard-可视化深度学习指标 | PyTorch系列(二十五)
- 技术分享 | 只有.frm和.ibd文件时如何批量恢复InnoDB的表