一、Linux中使用变量的原因
变量的好处在于用一个简单或容易理解的符号来代替另一个比较复杂或容易变动的数据.简而言之,使用变量就是为了方便.在Linux中,主机内有太多的数据需要访问,而这些数据都是一些服务所必须的,且这些数据都非常繁琐.因此,为了简化整个运行流程,可以通过某个变量功能,让这个变量可以根据不同的用户而更改内容.这样一来,系统只要根据那个变量去取得所需要的数据即可,而不需要去记忆那些繁琐的数据.
二、查询在Linux中的变量
查询"命令"是外部命令(其它非bash套件所提供的命令)或内置在bash中的命令.
[root@localhost ~]# type -t name
type会显示出name是外部命令还是bash内置的命令,其中:
file : 表示为外部命令
alias: 表示该命令为命令别名所设置的名称
builtin: 表示该命令为bash内置的命令
例如: type -tpa cd
系统显示为builtin,表示cd为内置命令.
三、变量在Linux中的应用
(1)获取变量的内容
echo $变量名
例如:1. echo $PATH 则系统会显示出变量PATH的值.
2. [root@localhost ~]#sum=30+50-120
[root@localhost ~]#echo $sum //打印出"30+50-120",而不是-40
30+50-120
另外,echo还可以向Linux终端打印数据.
例如:[root@localhost ~]#echo "haha"
haha
(2)变量的赋值
方法:可以直接使用"="来向某个变量赋值.
例如:#echo $hehe //变量未赋值,直接取其值时,则系统的显示为空
#hehe=Vbird
#echo $hehe //系统显示为Vbird
Attention!!!
1.等号两边不能直接接空格符.
2.变量名称只能是英文字母与数字,但数字不能作为开头.
3.若该变量需要在其它子程序中执行,则需要用export使变量变成环境变量,如export PATH.
4.取消变量的方法:unset 变量名
5.若变量未赋值,直接取其值时,则系统的显示为空的.
6.双引号、单引号在变量中的应用
双引号仍然可以保持变量的内容.
单引号只能是一般字符,$name会失去原有的变量内容,仅作为字符的显示类型而已.
#name=vbird
#echo $name //显示内容为vbird
#echo "$name is me" //显示内容为vbird is me
#echo '$name is me' //显示内容为$name is me
(3)环境变量
1、列出当前Shell环境下所有环境变量及内容:#env
HOSTNAME=linux.dmtsai.tw //主机名称
SHELL=/bin/bash //当前环境下,使用的Shell是哪一个程序?
HISTSIZE=1000 //记录曾经执行过的命令的数目,RedHat中可记录1000个
USER=root //当前用户名称
LS_COLORS //颜色设置
PATH //执行文件命令搜索路径.目录之间以冒号分隔.注意,文件的搜索是按PATH的值来查询.
PWD //当前用户所在的工作目录
LANG //与语系有关
HOME //用户的家目录(进入用户的家目录:cd ~或cd)
2、列出所有变量(包括自定义变量):#set
在Linux中,默认情况下使用{大写字母}来设置的变量一般为系统内定需要的变量.
PS1 //(数字1而不是英文字母)Linux命令提示符的设置
$ //本Shell的PID(Process ID).查询Shell的PID,使用#echo $$