Linux 使用此语法分配bash变量值时有什么区别?
很抱歉,如果这是一个非常简单的问题或者已经被问过了,但是由于这个问题的性质,我想不出任何可以放在搜索引擎上的搜索词 最近我看到一些bash脚本,它们分配变量值如下:Linux 使用此语法分配bash变量值时有什么区别?,linux,bash,shell,variables,syntax,Linux,Bash,Shell,Variables,Syntax,很抱歉,如果这是一个非常简单的问题或者已经被问过了,但是由于这个问题的性质,我想不出任何可以放在搜索引擎上的搜索词 最近我看到一些bash脚本,它们分配变量值如下: $ MY_BASH_VAR=${MY_BASH_VAR:-myvalue} $ echo "$MY_BASH_VAR" myvalue MY_BASH_VAR=myvalue $ echo "$MY_BASH_VAR" myvalue 与最常见的赋值方式有什么区别: $ MY_BASH_VAR=${MY_BASH_VAR:-my
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
myvalue
MY_BASH_VAR=myvalue
$ echo "$MY_BASH_VAR"
myvalue
与最常见的赋值方式有什么区别:
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
myvalue
MY_BASH_VAR=myvalue
$ echo "$MY_BASH_VAR"
myvalue
你可以看看
这提供了一个默认值:MY_BASH_VAR保留其值,如果定义为其他值,则采用默认的“myvalue”
你可以看看
这提供了一个默认值:MY_BASH_VAR保留其值,如果定义为其他值,则采用默认的“myvalue”
假设已经设置了
$MY\u BASH\u VAR
。在这种情况下,它将保持相同的值。如果没有,它将获得myvalue
案例1)$MY\u BASH\u VAR
已设置
$ MY_BASH_VAR="hello"
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
hello
案例2)$MY\u BASH\u VAR
之前未设置
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
myvalue
案例3)$MY\u BASH\u VAR
设置为空字符串
$ MY_BASH_VAR=""
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
myvalue
假设已经设置了
$MY\u BASH\u VAR
。在这种情况下,它将保持相同的值。如果没有,它将获得myvalue
案例1)$MY\u BASH\u VAR
已设置
$ MY_BASH_VAR="hello"
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
hello
案例2)$MY\u BASH\u VAR
之前未设置
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
myvalue
案例3)$MY\u BASH\u VAR
设置为空字符串
$ MY_BASH_VAR=""
$ MY_BASH_VAR=${MY_BASH_VAR:-myvalue}
$ echo "$MY_BASH_VAR"
myvalue
请注意,使用
:-
,MY_BASH_VAR
也会收到默认值,如果它当前设置为空字符串。哦,这是真的,我不记得在回答中提到它。刚刚更新过。谢谢请注意,使用:-
,MY_BASH_VAR
也会收到默认值,如果它当前设置为空字符串。哦,这是真的,我不记得在回答中提到它。刚刚更新过。谢谢请注意,对于:-
,A
如果当前设置为空字符串,也将接收默认值。请注意,对于:-
,A
如果当前设置为空字符串,也将接收默认值。