shell 变量赋值与替换

:=  如${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 worldshell valueshell value
 = hello world hello world null nullshell valueshell value
 :+ null  null  shell value hello worldhello worldshell value
 + null  null  null  null hello worldshell value
 :-  hello world  null   hello world  null shell valueshell value
 -  hello world  null  null  null shell valueshell value
 :?

 返回一个错误信息

bash: var: hello world

  null

 返回一个错误信息

bash: var: hello world
nullshell valueshell value
?

 返回一个错误信息

bash: var: hello world
nullnullnullshell valueshell value

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值