PowerShell 中的 IF 语句有简写吗?

cod*_*dad 4 bash powershell

在 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)

Paw*_*Dyl 6

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)