一、变量
变量在shell中分为:本地变量、环境变量、位置参数;
本地变量:仅可在用户当前shell生命期的脚本中使用的变量,本地变量随着shell进程的消亡而无效,本地变量在新启动的shell中依旧无效,类似于c、c++中的局部变量的概念;
环境变量:适用于所有登录进程所产生的子进程;
位置参数:用于向shell脚本提供传递参数,它是只读的;
变量是某个值的名称,引用变量值就称为:变量替换,$符号是变量替换符号,如variable是变量名,那么,$variable就是表示变量的值;
variable=value #切记:等号两边不能出现空格
${variable=value} #同上
示例如下:
var1="hello world"
var2="I say"
var3="we are saying $var1" #ok
变量的清除:unset命令
unset 变量名
unset var之后,echo $var ,结果显示空白行,这表示var变量没有初始化;
变量赋值的模式:
var=value #注意:等号两边不能有空格
1 1、变量已初始化情况 2 root@222-132-16-50:~/cp/sh# colour="reb" 3 root@222-132-16-50:~/cp/sh# echo "is ${colour+"blue"}" 4 is blue 5 root@222-132-16-50:~/cp/sh# echo $colour 6 reb 7 root@222-132-16-50:~/cp/sh# unset colour 8 2、变量未被初始化情况, ":=" 和":-" 对已初始化的变量操作,无作用 9 root@222-132-16-50:~/cp/sh# unset colour 10 root@222-132-16-50:~/cp/sh# echo $colour 11 12 root@222-132-16-50:~/cp/sh# echo "is ${colour:="red"}" 13 is red 14 root@222-132-16-50:~/cp/sh# echo $colour 15 red 16 root@222-132-16-50:~/cp/sh# unset colour 17 root@222-132-16-50:~/cp/sh# echo "is ${colour:-"red"}" 18 is red 19 root@222-132-16-50:~/cp/sh# echo $colour 20 21 root@222-132-16-50:~/cp/sh#