我正在尝试在PowerShell中设置一个环境变量为空字符串。请注意,我不想取消设置环境变量;我希望它被设置为空。然而,如果你将环境变量设置为空字符串,PowerShell会完全删除该环境变量。我尝试了以下方法:
$ENV:VAR=''
$ENV:VAR=[String]::Empty
$ENV:VAR=[NullString]::Value
$ENV:VAR=$null
New-Item -Path ENV:VAR -Value ''
New-Item -Path ENV:VAR -Value [string::Empty]
除了最后一个以外,每个都导致变量不会出现在Get-ChildItem -path ENV:
的输出中。最后一个将环境变量设置为字面字符串[string::Empty]
,这绝对不是我想要的。
为了完整起见:
$PSVersionTable.PSVersion
Major Minor Build Revision ----- ----- ----- -------- 5 0 10586 117
我看到空的环境变量是可能存在的,因为我有几个这样的变量:
ConEmuANSI ON
ConEmuAnsiLog
ConEmuArgs
ConEmuArgs2
ConEmuBackHWND 0x00F40BFC
仅供参考,我实际上正在尝试将DOCKER_TLS_VERIFY
环境变量设置为空字符串,因为docker-compose将该变量的缺失视为我想要进行TLS验证,并且我使用的Docker主机已禁用TLS。我暂时放弃并切换了shell。