首页 > 解决方案 > 使用环境变量或默认值(如果不存在)设置 PowerShell 变量

问题描述

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

BASH_VAR_IN_SCRIPT=${MY_ENV_VAR:="default value"}

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

标签: bashpowershellpowershell-core

解决方案


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

$myVar = $env:MY_ENV_VAR ?? "default value";

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

$myVar = if ($env:MY_ENV_VAR) { $env:MY_ENV_VAR } else { "default value" };

推荐阅读