在 bash 中,我经常做这样的事情:
[ -z "${someEnvVar}" ] && someEnvVar="default value"
Run Code Online (Sandbox Code Playgroud)
而不是创建一个完整的 if 语句:
if [ -z "${someEnvVar}" ]; then someEnvVar="default value"; fi
Run Code Online (Sandbox Code Playgroud)
PowerShell 中是否有类似的简写而不创建函数或别名?
我不想在 PowerShell 中编写以下内容:
if ("${someVar}" -eq "") {
$someVar = "default value"
}
Run Code Online (Sandbox Code Playgroud)
If对我来说似乎更具可读性,但你可以使用 OR 的短路(类似于 BASH 版本):
$someVar = ""
[void]($someVar -ne "" -or ($someVar = "Default"))
$someVar #yields "Default"
$someVar = "Custom"
[void]($someVar -ne "" -or ($someVar = "Default"))
$someVar #yields "Custom"
Run Code Online (Sandbox Code Playgroud)