nic*_*paz 8 variables bash conditional
我是bash的新手但已经做了很多PHP和Javascript.
这个PHP有某种等效的吗?
$default = 10;
$var = (!$var) ? $default : $var;
Run Code Online (Sandbox Code Playgroud)
谢谢
pax*_*blo 12
是的,它确实:
var=${var:-10}
Run Code Online (Sandbox Code Playgroud)
即使有其他变量:
unset var
export def=99
echo ${var:-${def}} # gives '99'
export var=7
echo ${var:-${def}} # gives '7'
Run Code Online (Sandbox Code Playgroud)
是!
从手册页:
${parameter:-word}
Use Default Values. If parameter is unset or null, the expansion of word
is substituted. Otherwise, the value of parameter is substituted.
${parameter:=word}
Assign Default Values. If parameter is unset or null, the expansion of word
is assigned to parameter. The value of parameter is then substituted.
Positional parameters and special parameters may not be assigned to in this way.
${parameter:?word}
Display Error if Null or Unset. If parameter is null or unset, the expansion of word (or a message to
that effect if word is not present) is written to the standard error and the shell, if it is not inter?
active, exits. Otherwise, the value of parameter is substituted.
${parameter:+word}
Use Alternate Value. If parameter is null or unset, nothing is substituted, otherwise the expansion of
word is substituted.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4782 次 |
| 最近记录: |