码迷,mamicode.com
首页 > 系统相关 > 详细

shell默认变量值

时间:2020-03-22 16:02:13      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:默认   pre   替换   vim   lan   否则   效果   规则   block   

shell默认变量

${var:-string}/${var:=string}

A=${var:-string}
B=${var:=string}

A和B变量中的var变量如果为空,则用string来替换var变量,否则变量var不为空,则用var来代替string,不同的是当变量var为空的时候,不但用string替换${var:-string}/${var:=string},也会把string赋值给变量var

${var:-string}和${var:=string}效果是一样的

下面看个案例

$ vim t1.sh
var1=123
#var2=456
A=${var1:-string}
B=${var2:=string}
echo ${A} ${B} ${var2}

$ sh t1.sh
123 string string

${var:+string}

A=${var:+string}

替换规则和上面的相反,只有当var不是空的时候才替换成string,若var为空时则不替换或者说是替换成变量var的值,即空值。(因为变量var此时为空,所以这两种说法是等价的)

shell默认变量值

标签:默认   pre   替换   vim   lan   否则   效果   规则   block   

原文地址:https://www.cnblogs.com/jasonminghao/p/12546149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!