1、什么是变量
◆变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,
就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。使用变量可以保存有用信息,使系统获知用户
相关设置,变量也可以用于保存暂时信息。
2、变量设置规则
◆变量名称可以由字母、数字和下划线组成,但是不能以数字开头。如果变量名是
“2name”则是错误的。
◆在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必修指定变量类型为数值型。
◆变量用等号连接值,等号左右两侧不能有空格。
◆变量的值如果有空格,需要使用单引号或双引号包括。
◆在变量的值中,可以使用“”转义符。
◆如果需要增加变量的值,那么可以进行变量值的叠加。不过变量需要用双引号包含“s变量名”或用S{变量名}包含。
◆如果是把命令的结果作为变量值赋予变量,则需要使用反引号或$( )包含命令。
◆环境变量名建议大写,便于区分。
3、变量分类
◆用户自定义变量
◆环境变量:这种变量中主要保存的是和系统操作环境相关的数据。
◆位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
◆预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。
4、本地变量 //用户自定义变量
◆变量定义
[root@localhost~]#name="aa"
◆变量叠加
[root@localhost~]#aa=123
[root@localhost~]#aa="$aa"456 //在变量aa后面接着写456,输出123456
[root@localhost ~]#aa=${aa}789 //与上同理。' aa="$aa"'='aa=$(aa)'
◆变量调用
[root@localhost ~]#echo $name
◆变量查看
[root@localhost ~]#set
◆变量删除
[root@localhost ~]#unset name
5.环境变量是什么
◆用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效
设置环境变量
export 变量名=变量值 //export age=18 export sex=male
#申明变量
env
#查询变量
unset 变量名
#删除变量
6.系统常见环境变量
◆PATH:系统查找命令的路径
[root@localhost ~]#echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:
/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
◆PATH="$PATH":/root/sh
#PATH变量叠加
◆PS1:定义系统提示符的变量
d:显示日期,格式为“星期月日”
h:显示简写主机名。如默认主机名“localhost”
:显示24小时制时间,格式为“HH:MM:SS”
T:显示12小时制时间,格式为“HH:MM:SS”
A:显示24小时制时间,格式为“HH:MM”
u:显示当前用户名
w:显示当前所在目录的完整名称
W:显示当前所在目录的最后一个目录
#:执行的第几个命令
$:提示符。如果是root用户会显示提示符为“#”,如果是普通用户会显示提示符为“$”