a=1
为什么a等于1呢?
a能不能等于2呢? 当然可以! 甚至a还可以等于cwb!
这就是变量,一直在变化的量.
来拆分一下上面的公式,公式左边的a称之为”变量名”,公式右面的1称之为”变量值”.
需要明确的是:变量名是固定的,变量值是变化的.
那么变量值如何变化呢? 这就涉及到一下几类变量
[自定义变量]
a = 1 这就是自定义变量,变量值由自己定义,自己说了算.
[预定义变量]
这类变量的值就不能自己说了算,而是系统本身已经定义好的,虽然是预先定义好的,但变量永远在变化.
比如:USER这个预定义变量,它的值是什么呢?这得取决于当前登录系统的用户了,如果user1登录的,那么USER=user1;如果cwb登录的,那么USER=cwb.
[本地变量]
以redhat5.2为例,当前已经登录系统,所使用的shell是bash,那么当登录系统后自定义一个变量a=1,这个变量是在当前的shell下”出生”的,所以它的变量值也仅仅在当前的shell下生效,当前的bash切换到csh时,a就失效了.若在当前bash下输入命令#bash,等于从一个bash切换到另一个bash,尽管都是bash,但是这已经是第二个bash了,而a出生于第一个bash,此时还是无效的.
[环境变量]
这个变量打破了”本地变量”的限制,只要在linux的环境里,无论shell如何变化,变量都是生效的,这里出现一个命令export (定义一个环境变量).
比如:#export a=1
此时a就是一个环境变量,切换任意shell时,a都是有效的~
注:几乎所有的”预定义变量”都是”环境变量”.
几个变量的表现形式例子
1. #a=1
#echo a 那么显示的就是 a
#echo $a 那么显示的就是 1
#echo ‘$a’ 那么显示的就是 $a
#echo “$a” 那么显示的就是 1
2. #b=$a
#echo b 那么显示的就是b
#echo $b 那么显示的就是1
#echo ‘$b’ 那么显示的就是 $b
#echo “$b” 那么显示的就是1
3. #c=’$a’
#echo $c 那么显示的就是 $a
#echo ‘$c’ 那么显示的就是 $c
#echo “$c” 那么显示的就是 $a
4.#d=”$a”
#echo $d 那么显示的就是1
#echo ‘$d’ 那么显示的就是$d
#echo “$d” 那么显示的就是1
四个例子之后,看了第一遍感觉有点乱 - -|| 好吧,那就再看一遍.
需要注意的两点:
1.引用变量的时候需要添加特殊符号$
2.单引号’’里面的内容不会被看作变量,而双引号””里面的内容会被认做变量~
本文出自 “我的IT之路” 博客,请务必保留此出处http://webcwb.blog.51cto.com/5096376/1172318