2016-11-23 112 views
0

Unix中以下表示法的含义是什么?Unix命令解释

:- or := 

哪些呢下面的手段

if [ ${path:=0} -eq 1 ] 
if [ ${path:-0} -eq 1 ] 
+1

提供变量的默认值。看看http://unix.stackexchange.com/questions/122845/using-ab-for-variable-assignment-in-scripts – cjungel

回答

1

:是参数扩展,所以如果例如$path没有设置,它会在你的示例代码回落到0。

使用连字符:-将使用该值,并使用:=将分配值。

由评论提示附加信息:

在你的榜样,您使用的是被称为$path变量,所以使用:=会是这样的:如果$路径没有设置,设置$路径值(0在你的情况)。任何时候你使用$路径之后,它将被设置为你的值,0.

使用:-将只使用给定的默认值(在你的情况下,再次,0),而不是将其分配给$路径。之后任何$ path路径的使用仍然没有设置。

+0

使用连字符: - 将使用该值,并使用:=将分配值。 我不知道如果我得到这个,“使用该值”并分配值? – redsoxlost

+0

我会为你添加额外的信息给答案。 – Stuart