使用环境变量或默认值(如果不存在)设置 PowerShell 变量

Pre*_*red 2 bash powershell powershell-core

如果$env未指定值,我正在尝试从环境变量或默认值在 PowerShell 脚本中设置变量。我可以通过执行以下操作在 Bash 中做类似的事情。

BASH_VAR_IN_SCRIPT=${MY_ENV_VAR:="default value"}
Run Code Online (Sandbox Code Playgroud)

PowerShell 中有类似的东西吗?我的 Google-fu 没有返回我要找的东西。我正在使用 PowerShell Core 7。

小智 5

$env:MY_ENV_VARnull如果MY_ENV_VAR未定义,将返回,因此您可以使用空合并运算符??来指定默认值:

$myVar = $env:MY_ENV_VAR ?? "default value";
Run Code Online (Sandbox Code Playgroud)

这仅适用于 Powershell 7+。对于旧版本,您可以使用 if 语句:

$myVar = if ($env:MY_ENV_VAR) { $env:MY_ENV_VAR } else { "default value" };
Run Code Online (Sandbox Code Playgroud)