一.系统变量和用户变量
1.常用的系统变量:作用域是整个操作系统或者整个用户的,注意:临时的用户环境变量只作用到当前bash及它的子bash。
$HOME
$PWD
$ SHELL
$USER等
2.在路径为/etc/profile
的文件中编辑的任意变量都是系统环境变量
3.在路径为~/.bashrc
的文件中编辑的任意变量都是用户环境变量
4.定义环境变量后,保存退出并不生效,执行命令
source ~/.bashrc
则生效
5.显示当前Shell中所有变量printenv
二.自定义变量
1.用命令定义环境变量是用户变量,而且还是临时的变量(退出服务再重新进来,变量消失)
a.普通变量: 作用域是当前shell(当前的解释器)
1.基本语法
(1)定义变量:变量=值
(2)撤销变量:unset 变量,可以重新进行赋值
(3)声明静态变量:readonly变量,注意:不能unset
2.变量定义规则
(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
(2)等号两侧不能有空格
(3)变量的值如果有空格,需要使用双引号或单引号括起来。
3. 案例实操
(1)定义变量A
[root@mylinux2 shell]# A=5
[root@mylinux2 shell]# echo $A
5
(2)给变量A重新赋值
[root@mylinux2 shell]# A=2
[root@mylinux2 shell]# echo $A
2
(3)撤销变量A
[root@mylinux2 shell]# unset A
[root@mylinux2 shell]# echo $A
(4)声明静态的变量B=2,不能unset
[root@hadoop101 datas]$ readonly B=2
[root@hadoop101 datas]$ echo $B2
[root@hadoop101 datas]$ B=9-bash:
B: readonly variable
(5)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
[root@mylinux2 shell]# C=1+2
[root@mylinux2 shell]# echo $C
1+2
(6)变量的值如果有空格,需要使用双引号或单引号括起来
[root@mylinux2 shell]# D=hao hao xue xi
-bash: hao: 未找到命令
[root@mylinux2 shell]# D="hao hao xue xi"
[root@mylinux2 shell]# echo $D
hao hao xue xi