Unix中以下符号的含义是什么?
:- or :=
以下是什么意思
if [ ${path:=0} -eq 1 ]
if [ ${path:-0} -eq 1 ]
答案 0 :(得分:1)
:
是参数扩展,因此如果未设置$path
,则示例代码中将回退为0。
使用连字符:-
将使用该值,使用:=
将分配值。
评论提示的其他信息:
在您的示例中,您使用的是名为$path
的变量,因此使用:=
将如下所示:如果未设置$ path,请将$ path设置为值(在您的情况下为0) )。每当你使用$ path后,它将被设置为你的值,0。
使用:-
只会使用给定的默认值(在您的情况下再次为0),而不是将其分配给$ path。之后对$ path的任何使用仍未设置。