Я пытаюсь установить переменную среды в 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 I использую отключил TLS. Я временно сдался и сменил снаряды.