首页 > 系统服务 > 详细

shell 变量赋值与替换

时间:2015-01-19 02:09:15      阅读:290      评论:0      收藏:0      [点我收藏+]

:=? 如${var1:=pppp}

情形一:var1未被定义或值为空就把:=后的值赋值给变量var1

得出结果:echo ${var1:=pppp} #pppp

????????????????? echo $var1 #pppp

情形二:如 var2="hello world";${var2:="thank you"} 当变量var2的值不为空,此表达式不改变变量的值

得出结果:echo ${var2:=pppp} #hello world

????????????????? echo $var2 #hello world

总结:(:= )会比较它两边的值,判断左边的变量是否不为空,不为空值不变,否则就把右边的值赋值给左边的变量

= 如${var3=ppppp} 当var3 未被定义时,就把ppppp赋值给var3,若已定义即使值为空也不会把ppppp赋值给变量var3

?

文字描述太罗嗦,还是画个表格

?

以下表格以var变量名为例${var操作符号"hello world"},null 表示值为空,在终端体现为空行

符号 变量??
未定义 值为空 值不为空(为"shell value")
?echo ${var操作符号"hello world"} echo $var ? echo ${var操作符号"hello world"} ?echo $var ?echo ${var操作符号"hello world"} echo $var
?:= ?hello world ?hello world ?hello world ?hello world shell value shell value
?= ?hello world ?hello world ?null ?null shell value shell value
?:+ ?null ?null ?shell value hello world hello world shell value
?+ ?null ?null ?null ?null hello world shell value
?:- ? hello world ?null ? hello world ?null shell value shell value
?- ? hello world ?null ?null ?null shell value shell value
?:?

?返回一个错误信息

bash: var: hello world

? null

?返回一个错误信息

bash: var: hello world
null shell value shell value
?

?返回一个错误信息

bash: var: hello world
null null null shell value shell value

?

?

shell 变量赋值与替换

原文:http://lkl.iteye.com/blog/2176949

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!