0%

Shell Notes

记录一下 ${var:-value}${var:-value} 区别

${var:-456}

:- 不作用于变量var,若变量var未赋值,则给 ${var:-456} 这个变量被赋值为-456,但var依然还是未赋值状态。

1
2
3
4
5
6
7
8
9
10
11
$ echo $var

$ echo ${var:-456}
456
$ echo $var

$ var=123
$ echo ${var:-456}
123
$ echo $var
123

${var:=456}

:= 作用于变量var,若变量var未赋值,则给变量var赋值456。

1
2
3
4
5
6
7
8
9
10
11
$ echo $var

$ echo ${var:=456}
456
$ echo $var
456
$ var=123
$ echo ${var:=456}
123
$ echo $var
123