一、系统变量
1、env
显示系统环境变量,直接输入env即可。
2、set
在env的基础上增加显示了用户自定义的变量,直接输入set即可。
二、自定义变量
1、变量名规则:
变量名只能包含字母、数字、下划线,且首位不能是数字。
a=1
a=abc
a=a37
2、变量值
- 变量值有特殊符号时需要用单引号括起来
- 如果用双引号,会识别其中的特殊字符;单引号会把其中的特殊字符当作普通字符来处理。
- 调用变量时,使用
$加上变量名即可。
没有特殊字符时,单引号和双引号效果相同:
[app@centos tmp]$ a='a b c'
[app@centos tmp]$ echo $a
a b c
[app@centos tmp]$ a="b c"
[app@centos tmp]$ echo $a
b c
有特殊字符时,单引号和双引号效果不同:
[app@centos tmp]$ echo $a
a
[app@centos tmp]$ a='a$bc'
[app@centos tmp]$ echo $a
a$bc
3、连接多个变量
也称为变量的累加。
调用时直接连接多个变量即可,依次计算出变量的值后,连接在一起。
多个变量连接时,最好把每个变量都用双引号括起来。
示例:
定义变量a、b:
[app@centos tmp]$ a=1
[app@centos tmp]$ b=2
两个变量直接相连:
[app@centos tmp]$ echo $a$b
12
变量值中包含特殊字符时也可以直接相连:
[app@centos tmp]$ a='a$b' 修改了变量a的值
[app@centos tmp]$ echo $a$b
a$b2
[app@centos tmp]$ c="c$b"
[app@centos tmp]$ echo $a$c 其中$c值为c2
a$bc2
当$后跟有多个字母时,均视为一个变量名,所以需要分开写:
[app@centos tmp]$ c=c"$bc"
[app@centos tmp]$ echo $c
c
把"$bc"分开成"$b"c,不然不能识别$b
[app@centos tmp]$ c=c"$b"c
[app@centos tmp]$ echo $c
c2c
4、全局变量
export 变量名=变量值
export b=123
把变量b设置为全局变量,且值为123
5、unset取消变量
unset 变量名
注意:不加$
[app@V]$ b=123
[app@V]$ echo $b
123
[app@V]$ unset b
[app@V]$ echo $b
三、自定义命令行前缀 PS1
默认情况下,linux中命令行前缀显示的是黑色的,内容是:
非root用户:[用户名@主机名 路径名]$
root用户:[用户名@主机名 路径名]#
其实这是由环境变量 PS1 控制的。
查看PS1变量的值:
[app@xxx]$ echo $PS1
[\u@\h \W]\$
默认情况下PS1='[\u@\h \W]\$'
其中`\W`代表相对路径,`\w`代表绝对路径
修改PS1自定义命令前缀的颜色:
PS1='[\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\W\[\033[00m\]]\$ '

当然,这样直接修改,只在当前会话中生效,若要所有会话生效,设置成全局变量即可。
版权声明:本文为lijing742180原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。