BASH系列之二shell变量
shell变量
概述:在shell编程中,所有的变量都是由字符串组成
一:用户设置变量
例子一:#!/bin/sh
#set a variable A
A="hello world"
#printf A
echo "A is:$A"
#delete variable
unset A
echo "A is $A"
例子二:#!/bin/sh
num2=2
num3=3
echo "this is the $num2nd"
echo "this is the {$num3}nd"
注意:1:赋值号两边不要有空格
2:用花括号标出变量
3:变量使用前不需要提前申明
4:变量依次从右向左赋值(变量未赋值时,shell不报错,而是赋值为空)
5:使用unset命令删除变量的赋值
二:默认变量
1:$#:传入脚本的命令行参数的个数
2:$*:所有命令行参数值,在各个参数值之间留有空格
3:$0:命令本身路径(shell文件名)
4:$1:第一个命令行参数
5:$2:第二个命令行参数
...
一次类推
三:局部变量
在变量首次被赋值加上local关键字可以申明一个局部变量
范例:
#!/bin/sh
hello="abc"
echo $hello
function fun1
{
local hello="cba"
echo $hello
}
echo $hello
结果:abc
cba
abc
如果local去除,
则结果:abc
cba
cba
这个效果和C语言中的全局变量和局部变量很相似