Shell变量:
shell变量是shell程序在内存中存储数据信息的容器。
- shell变量的设置:COLOR=red,设置变量时不应该有空格
- shell变量的引用:echo $COLOR或者echo ${COLOR},大括号是为了区分变量和其他字符
自定义变量:
自定义变量是自己命名的变量,不能够与系统中已有的变量同名。
- 自定义变量的设置:Day=Friday,使用习惯是首字母大写,不要都小写或者都大写
- 自定义变量的引用:同shell,或者echo “Today is ${Day}”,显示一串字符
环境变量:
环境变量是系统用来存储环境信息的变量,如主机名,IP地址等等,通常有系统初始配置提供,即配置文件。
- 环境变量的使用:与自定义变量一样,但命名被约束,通常大写,env命令可以读取系统的环境变量
- 环境变量的导出和保存:export可以将当前shell的环境变量导出并保存到子shell中,以备下次开机使用,子shell是当前shell派生出来的
- 环境变量可以保存到家目录的~/.bashrc文件中供以后固化使用
- 常用的环境变量:
PATH环境变量
PS*系列环境变量
env可以查看所有的环境变量,使用vi ~/.bashrc来编辑当前用户的环境变量的配置文件,在这里改变后会永久改变
PATH变量存储系统命令所在的路径,通常为绝对路径,其提供了系统命令搜寻的便利。
- PATH变量的设置:PATH=/home/username/bin:$PATH,要有:,其前面是命令所在的路径,然后将这个路径追加到原来的PATH中
- PATH变量的引用:和其他变量一样,设置的时候也是先引用
预定义变量:
预定义变量是内置变量,不能进行设置,只能够引用。用来存储shell程序运行过程中的状态信息。
常用的预定义变量:
$$ 存储当前进程的进程号
$0 存储当前进程的进程名
$? 存储当前命令的返回值(查看上一条命令是否成功,0成功,非0失败)
$! 存储最后一个后台进程的进程号
引用的时候直接echo $$
位置变量:
位置变量可用来引用传递给程序的参数,按照传递的位置顺序来引用。
位置变量的使用:$1….$9,当参数超过9个时,用shift切取命令,位置变量只能在程序中使用。
例如:
Vi test.txt 创建一个文件
Ls –ld $1 显示$1本身
Ls –l $1 显示$1下面的
Shift shift,将之前的$1切掉,原来的$2变为$1,类推
Ls $2 被执行的时候其实是ls $3
:wq 保存退出
在引用的时候 . test.txt /home /user /bin
.代表读取,/home,/user和/bin分别传递给$1,$2,$3