Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54665
  • 博文数量: 65
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 365
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-06 10:38
文章分类
文章存档

2015年(65)

我的朋友

分类: LINUX

2015-01-26 16:31:45

:=  如${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 表示值为空,在终端体现为 空行

符号 变量
未定义 值为空 值不为空(为"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
  • 本文来自:
阅读(284) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~