【发布时间】:2020-07-01 18:01:00
【问题描述】:
我已经看到在 Bourne 派生的 shell 的参数扩展中使用默认值的几种不同方法::=、=、:- 和 -。我想知道它们有何不同。手册说- 和= 处理空值的方式与:- 和:= 不同。但据我所知,:= == :- 和 = == -。这是真的吗?
【问题讨论】:
-
手册描述了每个人的行为,但据我所知,:- 和 := 行为完全相同。我想确认一下是否真的如此。
-
他们没有;等式实际上改变了参数的值是默认使用的。
-
区别在于
:=除了返回变量外,还给变量赋值了默认值。 -
添加
echo $my_var,你会看到不同。
标签: bash shell parameter-expansion