局部变量
用户自定义的变量由字母或下划线开头,由字母,数字或下划线序列组成,并且大小写字母意义不同,变量名长度没有限制。
1) 设置变量
习惯上用大写字母来命名变量。变量名以字母表示的字符开头,不能用数字。
2) 变量调用
在使用变量时,要在变量名前加上前缀“$”.
使用echo 命令查看变量值
eg: echo $A
3) 变量赋值
第一种:定义时赋值
变量=值
等号两侧不能有空格
eg: STR="hello world"
eg: A=9
第二种:将一个命令的执行结果赋给变量
eg: A=`ls -la` 反引号,运行里面的命令,并把结果返回给变量A
eg: A=$(ls -la) 等价于反引号
eg: aa=$((4+5))
eg: bb=`expr 4 + 5 `
第三种:将一个变量赋给另一个变量
eg : A=$STR
4) 变量叠加
eg: aa=123
eg: cc="$aa"456
eg: dd=${aa}789
单引号和双引号的区别
现象:单引号里的内容会全部输出,而双引号里的内容会有变化
原因:单引号会将所有特殊字符脱意
eg: NUM=10
SUM="$NUM hehe" echo $SUM 输出10 hehe
SUM2='$NUM hehe' echo $SUM2 输出$NUM hehe
5) 列出所有的变量
全局变量
全局变量也称外部变量,它是在函数外部定义的变量。它不属于哪一个函数,而是属于一个源程序文件:其作用域是整个源程序[3]。
几乎程序中的所有函数都能使用全局变量,客观上全局变量就起到了在函数间传递数据的作用,甚至可以减少形参和实参的数量。当然在享用它的好处时,也要慎重,避免全局变量过多带来的降低函数通用性及存储空间的浪费。
对于全局变量还有以下几点说明:
1、全局变量从程序运行起即占据内存,在程序整个运行过程中可随时访问,程序退出时释放内存。与之对应的局部变量在进入语句块时获得内存,仅能由语句块内的语句访问,退出语句块时释放内存,不再有效。
2、局部变量定义后不会自动初始化,除非程序员指定初值。全局变量在程序员不指定初值的情况下自动初始化为零。
3、在同一源文件中,允许全局变量和局部变量同名。在局部变量的作用域内,全局变量不起作用。