BASH: "local var=${3-16}" 含义不明确
BASH: "local var=${3-16}" meaning not clear
试图理解一些 BASH 脚本我遇到了这一行
local var=${3-16}
我理解赋值部分和本地部分 - 我的问题是“${3-16}”中的破折号表示什么。
如果我尝试:
$ maxi=${1-45}; echo $maxi
45 <-- result
请解释破折号的含义。谢谢
当做${parameter-default}
(或${parameter:-default}
)时,如果没有设置parameter
,它将使用default
值。
所以在var=${3-16}
中,如果没有设置</code>,<code>var
就是16,否则,var
就是
.
您可以查看 Advanced Bash-Scripting Guide 以获得更多示例和其他替换。
表示"unless the parameter is unassigned, in which case use..."。 (:-
表示 "unless the parameter is empty or unassigned"。)所以 ${3-16}
表示“</code> 如果存在,否则 <code>16
”。
试图理解一些 BASH 脚本我遇到了这一行
local var=${3-16}
我理解赋值部分和本地部分 - 我的问题是“${3-16}”中的破折号表示什么。
如果我尝试:
$ maxi=${1-45}; echo $maxi
45 <-- result
请解释破折号的含义。谢谢
当做${parameter-default}
(或${parameter:-default}
)时,如果没有设置parameter
,它将使用default
值。
所以在var=${3-16}
中,如果没有设置</code>,<code>var
就是16,否则,var
就是.
您可以查看 Advanced Bash-Scripting Guide 以获得更多示例和其他替换。
表示"unless the parameter is unassigned, in which case use..."。 (:-
表示 "unless the parameter is empty or unassigned"。)所以 ${3-16}
表示“</code> 如果存在,否则 <code>16
”。