Переменные среды что такое: …что такое переменная среды PATH? • А хотите, я расскажу вам…

Содержание

Переменные среды — QA evolution

Веб тестирование, Инструменты

QaEvolution Оставить комментарий

Переменные среды

Переменная среды́ (англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.

Переменные окружения («Переменные среды», «environment variables») — текстовые переменные, наследуемые дочерниними процессами от родительского. Это означает, что переменные заданные для всей операционной системы будут доступны во всех запущенных приложениях; для пользователя – всех приложениям, запущенным этим пользователем; для какого-нибудь другой программы – только в запущенных через нее.

Переменные среды задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.

Имя переменной регистро-независимо (%VAR% и %Var% – одна и та же переменная).

Переменные среды в Windows

Переменные среды Windows

Переменные среды Windows делятся на две категории:

  • Переменные среды пользователя указывают путь до пользовательских каталогов. Локальные переменные такие как %userprofile% или %temp% возвращают, в зависимости от имени пользователя, различное значение которое указывает на местонахождение профиля пользователя и на папку временных файлов.

 

  • Системные переменные хранят данные о некоторых директориях операционной системы и конфигурации компьютера. Системные переменные содержат одинаковое для всех пользователей значение, например %SYSTEMROOT% или %SYSTEMDRIVE%. %SYSTEMROOT% — указывает в какой папке установлена Windows. Как правило это C:\Windows. %SYSTEMDRIVE% — указывает на системный диск. В большинстве случаев это C:\

Работа с переменными

Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например: echo %PROCESSOR_ARCHITECTURE%. (Используйте программу echo если вы хотите увидеть значение переменной. Echo выводит на стандартный вывод все, что вы передадите ей в командной строке. )

Чтобы установить значение переменной: SET TEMP=C:\TEMP

Кроме того, с переменными среды можно работать, нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).

В Windows к переменным окружения можно обращаться из командной строки заключая имя переменной в знаки «%».

В качестве примера можно привести переменную %APPDATA%, которая указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. Обычно это C:\Documents And Settings\Пользователь\Application Data, где Пользователь это изменяемое значение. Для каждой учетной записи используется своё имя пользователя.

Чтобы каждый раз не узнавать имя учетной записи текущего пользователя и не подставлять в путь к папке Application Data соответствующее значение и используется переменная окружения %APPDATA%.

Это позволяет, к примеру, быстро открывать папку Application Data, для этого в меню «Пуск →Найти» или в «Пуск →Выполнить» введите %APPDATA% и нажмите клавишу Enter.

Чтобы получить значение переменной окружения через командную строку, используется команда echo, например: echo %PROCESSOR_ARCHITECTURE%

Введенная в командной строке, эта комбинация отобразит архитектуру процессора текущего компьютера. Возможен один из трёх вариантов: x86, IA64, AMD64.

Некоторые переменные среды

Список переменных среды Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→»Свойства»).

 

ИмяНазначениеПример значения
%ALLUSERSPROFILE%Указывает путь до папки общих документов и настроек, общих для всех пользователей.C:\Documents And Settings\All Users
%APPDATA%Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя.C:\Documents And Settings\Администратор\Application Data
%CLIENTNAME%Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа.MyPC
%COMMONPROGRAMFILES%Указывает путь до папки, в которой хранятся общие для установленных программ файлы.C:\Program Files\Common Files
%COMPUTERNAME%Хранит имя компьютера в локальной сети.Начальник
%COMSPEC%Хранит путь до текущего командного интерпретатора Windows.C:\Windows\System32\cmd.exe
%HOMEDRIVE%, %SYSTEMDRIVE%Хранит имя системного диска.C:
%HOMEPATH%, %USERPROFILE%Хранит путь до домашней папки пользователяC:\Documents And Settings\Администратор
%WINDIR%Хранит путь до папки, в которую установлена WindowsC:\Windows
%SYSTEMROOT%Хранит путь до системной папки (где хранится ядро и т. п.)C:\Windows
%PROGRAMFILES%Хранит путь до папки с установленными приложениямиC:\Program Files
%SESSIONNAME%Хранит имя пользовательского сеанса. В локальном сеансе имеет значение Console, в среде удаленного подключения к рабочему столу протоколом TCP/IP имеет вид RDP-Tcp#<номер сеанса>.Console, RDP-Tcp#1

 

Windowsпеременные среды

I believe in QA, все о тестировании

Переменные среды | это… Что такое Переменные среды?

Переменные среды́ (англ. environment variables) — текстовые переменные операционной системы, хранящие данные о ряде настроек системы.

Содержание

  • 1 Переменные среды UNIX
  • 2 Переменные среды Windows
    • 2.1 Классификация
    • 2.2 Синтаксис
    • 2.3 Некоторые переменные среды

Переменные среды UNIX

Основная статья: Переменные среды Unix

Переменные среды устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и ~/.bash_profile.

Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании нового процесса он получает локальную копию среды, а, значит, не может изменить напрямую глобальные установки.

Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.

В сценариях обычно используются объявления вида ИМЯ_ПЕРЕМЕННОЙ="значение переменной", но конкретный синтаксис зависит от используемого интерпретатора.

Для получения значения переменной необходимо перед её именем поставить символ доллара. Так же иногда требуется заключить имя в скобки (например, в сценариях утилиты make).

Из командной строки управление переменными осуществляется с помощью export и env.

Переменные среды Windows

Основная статья: Переменные среды Windows

Переменные среды задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.

Классификация

Переменные среды Microsoft Windows делятся на две категории:

  • Переменные среды пользователя — указывают путь до пользовательских директорий.
  • Системные переменные — хранят данные о некоторых директориях операционной системы и конфигурации компьютера.

Синтаксис

Обращение к некоторой переменной среды возможно таким образом: %ИМЯ_ПЕРЕМЕННОЙ%. Также возможно выделение из переменной её части, например, печать различных частей переменной VAR с использованием командной строки Windows:

  • Вывод содержимого переменной — echo %VAR%.
  • Вывод первых четырёх символов — echo %VAR:~0,4%.
  • Вывод символов с третьего по шестой — echo %VAR:~2,4%
  • Вывод последних четырёх символов — echo %VAR:~-4%

Некоторые переменные среды

Список переменных среды Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→«Свойства»).

ИмяНазначениеПример значения
%ALLUSERSPROFILE%Указывает путь до папки общих документов и настроек, общих для всех пользователей.C:\Documents And Settings\All Users
%APPDATA%Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя.C:\Documents And Settings\Администратор\Application Data
%COMMONPROGRAMFILES%Указывает путь до папки, в которой хранятся общие для установленных программ файлы.C:\Program Files\Common Files
%COMPUTERNAME%Хранит имя компьютера в сети.Начальник
%COMSPEC%Хранит путь до текущего командного интерпретатора Windows.C:\Windows\System32\cmd.exe
%HOMEDRIVE%, %SYSTEMDRIVE%Хранит имя системного диска.C:
%HOMEPATH%, %USERPROFILE%Хранит путь до домашней папки пользователяC:\Documents And Settings\Администратор
%WINDIR%Хранит путь до папки, в которую установлена WindowsC:\Windows
%SYSTEMROOT%Хранит путь до системной папки (где хранится ядро и т. п.)C:\Windows
%PROGRAMFILES%Хранит путь до папки с установленными приложениямиC:\Program Files

Linux 101: Что такое переменные среды?

Linux 101: что такое переменные среды?

Джек Валлен знакомит вас с переменными среды Linux. Что это такое и как они устанавливаются и сбрасываются?

Мы можем получать компенсацию от поставщиков, которые появляются на этой странице, с помощью таких методов, как партнерские ссылки или спонсируемое партнерство. Это может повлиять на то, как и где их продукты будут отображаться на нашем сайте, но поставщики не могут платить за влияние на содержание наших обзоров. Для получения дополнительной информации посетите нашу страницу «Условия использования».

Сколько раз вы устанавливали что-то в Linux только для того, чтобы узнать, что вам нужно установить определенные переменные среды, прежде чем установка будет работать? Для меня это происходит постоянно.

Открытый исходный код: обязательный к прочтению обзор

  • Репозиторий с открытым исходным кодом SourceHut для удаления всех проектов, связанных с криптовалютой

  • Этот путь обучения Linux поможет вам начать использовать ОС на профессиональном уровне.

  • Btop — это значительно улучшенная версия команды top в Linux.

  • Контрольный список Oracle Linux: что делать после установки

Но что это за переменные среды и как их установить? Давайте погрузимся и узнаем.

SEE: Практическое руководство для администраторов Linux (бесплатный PDF) (TechRepublic)

Первое, что вы должны знать, это что такое переменные среды. Проще говоря, переменные среды — это набор динамических именованных значений, хранящихся в системе и используемых приложениями. Эти переменные позволяют настроить поведение определенных приложений и служб в системе. Каждая переменная содержит имя и связанное с ней значение. Обычно имя пишется ЗАГЛАВНЫМИ буквами, а значения, разумеется, чувствительны к регистру.

Допустим, вы устанавливаете язык Go в Linux. Из-за способа установки Go вы должны сообщить системе, где хранятся исполняемые двоичные файлы. Чаще всего эти файлы находятся в /usr/local/go/bin. Но если вы просто загрузите и распакуете Go в /usr/local/go, ваша система (и оболочка bash) не будут знать, что эти файлы там. Чтобы исправить это, вы должны установить переменную среды.

Очевидно, вы можете просто добавить /usr/local/go/bin в $PATH, что является традиционным способом решения этой проблемы. Но допустим, вы хотите сделать это временно. Вы можете установить, а затем отменить переменную среды. Во-первых, давайте установим GO_PATH как /usr/local/go/bin. Для этого мы используем команду экспорта, как в экспорт GO_PATH=/usr/local/go/bin . Введите команду echo $GO_PATH , и вы увидите, что /usr/local/go/bin успешно установлен.

SEE: 5 серверных дистрибутивов Linux, которые вы должны использовать (TechRepublic Premium)

Теперь, если вы хотите использовать путь для Go в сценарии, вы можете вставить $GO_PATH вместо /usr/local/go/bin. Эта новая переменная доступна для всей системы и наследуется всеми порожденными дочерними процессами и оболочками. Чтобы сбросить эту переменную среды, вы должны ввести команду сбросить GO_PATH .

Вы также можете перечислить все ваши текущие установленные переменные среды с помощью команды set , которая выведет массу переменных.

Переменные среды очень полезны для использования в сценариях, и иногда их необходимо задавать вручную при установке определенного программного обеспечения. Начните использовать их прямо сейчас, чтобы сделать Linux и командную строку Linux еще более эффективными.

Подписаться на 9 TechRepublic0037 How To Make Tech Work на YouTube , чтобы получить все последние технические советы для бизнес-профессионалов от Джека Уоллена.

Изображение: Джек Валлен

Джек Валлен

Опубликовано:

Изменено:

Увидеть больше Программное обеспечение

См. также

  • Ядро Linux 5.14: в выпуске появятся новые интересные функции
    (ТехРеспублика)

  • Linux 101: демистификация структуры каталогов Linux
    (ТехРеспублика)

  • Как стать разработчиком: шпаргалка
    (ТехРеспублика)

  • Kubernetes: шпаргалка (бесплатный PDF)
    (ТехРеспублика)

  • Microsoft Linux — это не то, что вы думали (или надеялись) на это
    (ТехРеспублика)

  • Руководство по индексу открытого исходного кода и контрольному списку проектов GitHub
    (ТехРеспублика Премиум)

  • Linux, Android и другие технологии с открытым исходным кодом
    (TechRepublic на Flipboard)

Поделиться: Linux 101: что такое переменные среды?

  • Открытый источник

  • Программное обеспечение

Выбор редактора

  • Изображение: Rawpixel/Adobe Stock

    ТехРеспублика Премиум

    Редакционный календарь TechRepublic Premium: ИТ-политики, контрольные списки, наборы инструментов и исследования для загрузки

    Контент TechRepublic Premium поможет вам решить самые сложные проблемы с ИТ и дать толчок вашей карьере или новому проекту.

    Персонал TechRepublic

    Опубликовано:

    Изменено:

    Читать далее

    Узнать больше

  • Изображение: Студия Blue Planet/Adobe Stock

    Начисление заработной платы

    Лучшее программное обеспечение для расчета заработной платы в 2023 году

    Имея на рынке множество вариантов, мы выделили шесть лучших вариантов программного обеспечения для управления персоналом и расчета заработной платы на 2023 год.

    Али Ажар

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше

  • Изображение: Майкрософт.

    Программное обеспечение

    Обновление Windows 11 переносит Bing Chat на панель задач

    Последняя версия Windows 11 от Microsoft позволяет предприятиям управлять некоторыми из этих новых функций, включая новости Notepad, iPhone и Android.

    Мэри Бранскомб

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше Программное обеспечение

  • Изображение: Танатат/Adobe Stock

    CXO

    Технические вакансии: разработчики программного обеспечения не торопятся возвращаться в офис, поскольку зарплаты достигают 180 000 долларов.

    По данным Hired, в 2022 году зарплаты на удаленных должностях в разработке программного обеспечения были выше, чем на рабочих местах, привязанных к месту работы.

    Оуэн Хьюз

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше

  • Изображение: Nuthawut/Adobe Stock

    Программное обеспечение

    9 лучших программ для управления гибкими проектами на 2023 год

    Откройте для себя лучшее программное обеспечение и инструменты для управления гибкими проектами на 2023 год. Сравните цены, функции, плюсы и минусы с нашим руководством.

    Девин Партида

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше Программное обеспечение

  • Изображение: Song_about_summer/Adobe Stock

    Безопасность

    1Password стремится к будущему без паролей. Вот почему

    С ростом числа случаев кражи учетных данных на основе фишинга, директор по маркетингу 1Password Стив Вон объясняет, почему конечная цель состоит в том, чтобы полностью «устранить» пароли.

    Карл Гринберг

    Опубликовано:

    Изменено:

    Читать далее

    Узнать больше Безопасность

о переменных среды — PowerShell

  • Статья
  • 11 минут на чтение

Краткое описание

Описывает доступ к переменным среды и управление ими в PowerShell.

Подробное описание

Переменные среды хранят данные, используемые операционной системой и другими
программы. Например, переменная среды WINDIR содержит местоположение
каталога установки Windows. Программы могут запрашивать значение этого
переменная, чтобы определить, где находятся файлы операционной системы Windows.

PowerShell может получать доступ к переменным среды и управлять ими в любом из поддерживаемых
платформы операционных систем. Поставщик среды PowerShell позволяет вам получить,
добавлять, изменять, очищать и удалять переменные среды в текущей консоли.

Примечание

В отличие от Windows имена переменных среды в macOS и Linux
с учетом регистра. Например, $env:Path и $env:PATH отличаются.
переменные среды на платформах, отличных от Windows.

Переменные среды, в отличие от других типов переменных в PowerShell,
всегда хранится в виде строки и не может быть пустым. Кроме того, в отличие от других переменных,
они наследуются дочерними процессами, такими как локальные фоновые задания и
сеансы, в которых работают члены модуля. Это делает переменные среды хорошо
подходит для хранения значений, которые необходимы как в родительском, так и в дочернем процессах.

В Windows переменные среды могут быть определены в трех областях:

  • Область машины (или системы)
  • Пользовательская область
  • Объем процесса

Область Process содержит переменные среды, доступные в текущем
процесса или сеанса PowerShell. Этот список переменных наследуется от
родительский процесс и строится из переменных в Machine и
Пользовательские областей.

При изменении переменных среды в PowerShell изменение затрагивает только
текущий сеанс. Это поведение напоминает поведение Установить команду
в командной оболочке Windows и команде Setenv в среде UNIX.
среды. Чтобы изменить значения в области «Машина» или «Пользователь», необходимо использовать
методы класса System.Environment .

Для внесения изменений в переменные машинного уровня у вас также должно быть разрешение. Если
вы пытаетесь изменить значение без достаточного разрешения, команда завершается ошибкой и
PowerShell выдает ошибку.

PowerShell предоставляет несколько различных методов использования и управления
переменные окружения.

  • Синтаксис переменной
  • Поставщик среды и командлеты Item
  • Класс .NET System.Environment

Использование синтаксиса переменных

Вы можете отображать и изменять значения переменных среды с помощью
следующий синтаксис:

 $Env:<имя-переменной>
 

Например, чтобы отобразить значение переменной среды WINDIR :

 $Env:windir
 
 C:\Windows
 

В этом синтаксисе знак доллара ( $ ) указывает на переменную, а имя диска
( Env: ) указывает переменную среды, за которой следует имя переменной
( ветер ).

Вы можете создавать и обновлять значения переменных среды с помощью следующих
синтаксис:

 $Env:<имя-переменной> = "<новое-значение>"
 

Например, чтобы создать переменную среды Foo :

 $Env:Foo = 'Пример'
 

Поскольку переменные среды всегда являются строками, их можно использовать как любые
другая переменная, содержащая строку. Например:

 «Переменная среды Foo имеет значение: $Env:Foo»
$Env:Foo += '!'
$ Окружение: Фу
 
 Переменная среды 'Foo' имеет значение: Пример
Пример!
 

Поскольку переменная среды не может быть пустой строкой, установка для нее значения
$null или пустая строка удаляет его. Например:

 $Env:Foo = ''
$ Окружение: Фу | Get-Member -MemberType Свойства
 
 Get-Member : необходимо указать объект для командлета Get-Member.
В строке:1 символ:12
+ $env:foo | Get-Member
+ ~~~~~~~~~~
    + CategoryInfo: CloseError: (:) [Get-Member], InvalidOperationException
    + FullyQualifiedErrorId: NoObjectInGetMember,Microsoft. PowerShell.Commands.GetMemberCommand
 

Get-Member вернул ошибку, поскольку переменная среды была удалена.
Вы можете видеть, что он не возвращает ошибку, когда вы используете его на пустом
строка:

 '' | Get-Member -MemberType Свойства
 
 Тип Имя: System.String
Имя MemberType Определение
---- ---------- ----------
Длина Свойство int Длина {get;}
 

Дополнительные сведения о переменных в PowerShell см. в разделе about_Variables.

Использование поставщика среды и командлетов Item

Поставщик PowerShell Environment предоставляет интерфейс для взаимодействия
с переменными среды в формате, напоминающем диск файловой системы. Это
позволяет получать, добавлять, изменять, очищать и удалять переменные и значения среды
в PowerShell.

Например, чтобы создать переменную среды Foo со значением Bar :

 New-Item -Path Env:\Foo -Value 'Bar'
 
 Имя Значение
---- -----
Фу Бар
 

Вы также можете скопировать переменную среды с помощью Copy-Item , установите значение
переменная среды с Set-Item , список переменных среды с
Get-Item и удалите переменную среды с помощью Remove-Item .

 Copy-Item -Path Env:\Foo -Destination Env:\Foo2 -PassThru
Set-Item -Path Env:\Foo2 -Value 'BAR'
Get-Item -Path Env:\Foo*
Remove-Item -Path Env:\Foo* -Подробный
 
 Имя Значение
---- -----
Бар Foo2
Имя Значение
---- -----
Foo2 БАР
Фу Бар
ПОДРОБНО: Выполнение операции «Удалить элемент» над целью «Элемент: Foo2».
ПОДРОБНО: Выполнение операции «Удалить элемент» над целью «Элемент: Foo».
 

Для получения дополнительной информации об использовании поставщика Environment для управления
переменные среды, см. about_Environment_Provider.

Использование методов System.Environment

Класс System.Environment предоставляет GetEnvironmentVariable и
SetEnvironmentVariable методов для получения и изменения переменных среды.

В следующем примере создается новая переменная среды Foo со значением
из Бар , а затем возвращает его значение.

 [Среда]::SetEnvironmentVariable('Foo','Bar')
[Среда]::GetEnvironmentVariable('Foo')
 
 Бар
 

Вы можете удалить переменную среды с помощью SetEnvironmentVariable
метод, указав пустую строку для значения переменной. Например,
чтобы удалить переменную среды Foo :

 [Environment]::SetEnvironmentVariable('Foo','')
[Среда]::GetEnvironmentVariable('Foo')
 
 

Дополнительные сведения о методах класса System.Environment см. в разделе
Методы окружения.

Сохранение изменений переменных среды

В Windows существует три способа внесения постоянных изменений в
переменная окружения: установив их в своем профиле, используя
метод SetEnvironmentVariable и с помощью системной панели управления.

Сохранение переменных среды в вашем профиле

Любая переменная среды, которую вы добавляете или изменяете в своем профиле PowerShell,
доступны в любой сессии, которая загружает ваш профиль. Этот метод работает для любого
версии PowerShell на любой поддерживаемой платформе.

Например, чтобы создать переменную среды CompanyUri и обновить
Переменная среды Path , чтобы включить папку C:\Tools , добавьте следующее
строки в свой профиль PowerShell:

 $Env:CompanyUri = 'https://internal. contoso.com'
$Env:Путь += ';C:\Инструменты'
 

Примечание

В Linux или macOS двоеточие ( : ) используется вместо точки с запятой ( ; ) для
отделить новый путь от пути, предшествующего ему в списке.

Вы можете получить путь к вашему профилю PowerShell с помощью автоматического $PROFILE
переменная. Дополнительные сведения о профилях см. в разделе about_Profiles.

Сохранение переменных среды с помощью SetEnvironmentVariable

В Windows можно указать область действия для метода SetEnvironmentVariable
в качестве третьего параметра для установки переменной среды в этой области.
машинные и пользовательские области сохраняются за пределами текущего процесса, что позволяет
вам сохранить новую или измененную переменную среды.

Например, чтобы сохранить новую переменную среды Foo со значением Bar в
область действия машины:

 [Environment]::SetEnvironmentVariable('Foo', 'Bar', 'Machine')
 

Вы можете удалить переменную среды из пользовательской или машинной области,
установка значения переменной в пустую строку.

 [Окружающая среда]::SetEnvironmentVariable('Foo', '', 'Машина')
 

Сохранение переменных среды с помощью системной панели управления

В системной панели управления можно добавлять или редактировать существующие переменные среды.
в Пользовательские и Системные (машинные) области. Windows записывает эти значения в
реестр, чтобы они сохранялись между сеансами и перезапусками системы.

Чтобы внести постоянные изменения в переменную среды в Windows с помощью
Панель управления системой:

  1. Откройте панель управления системой.
  2. Выберите Система .
  3. Выберите Расширенные настройки системы .
  4. Перейдите на вкладку Дополнительно .
  5. Выберите Переменные среды… .
  6. Внесите изменения.

Переменные среды PowerShell

Функции PowerShell могут использовать переменные среды для хранения пользовательских настроек.
Эти переменные работают как переменные предпочтения, но они наследуются потомком.
сеансы сеансов, в которых они созданы. Для получения дополнительной информации о
переменные предпочтения, см. about_Preference_Variables.

Переменные среды, в которых хранятся настройки, включают:

  • POWERSHELL_TELEMETRY_OPTOUT

    Чтобы отказаться от телеметрии, установите для переменной среды значение true , yes или
    1 .

    Дополнительные сведения см. в разделе about_Telemetry.

  • POWERSHELL_DISTRIBUTION_CHANNEL

    Начиная с PowerShell 7.2, эта переменная среды задается
    установочные пакеты для записи метода и источника установки для
    PowerShell.

    Эта информация включается в данные телеметрии, отправляемые в Microsoft. Пользователи
    не должен изменять это значение.

  • POWERSHELL_UPDATECHECK

    Поведение уведомления об обновлении можно изменить с помощью
    POWERSHELL_UPDATECHECK переменная среды. Следующие значения
    поддерживается:

    • Выкл отключает функцию уведомления об обновлении
    • Значение по умолчанию равнозначно отсутствию определения POWERSHELL_UPDATECHECK :
      • Общедоступные выпуски уведомляют об обновлениях общедоступных выпусков
      • Выпуски Preview/RC уведомляют об обновлениях общедоступных и предварительных выпусков
    • LTS уведомляет только об обновлениях общедоступных выпусков долгосрочного обслуживания (LTS)

    Дополнительные сведения см. в разделе about_Update_Notifications.

  • PSExecutionPolicyPreference

    Сохраняет набор правил выполнения для текущего сеанса. Эта среда
    переменная существует только тогда, когда вы устанавливаете политику выполнения для одного сеанса.
    Вы можете сделать это двумя разными способами.

    • Запуск сеанса из командной строки с помощью клавиши Политика выполнения
      параметр для установки политики выполнения для сеанса.

    • Используйте командлет Set-ExecutionPolicy . Используйте параметр Scope с
      значение Процесс .

      Дополнительные сведения см. в разделе about_Execution_Policies.

  • PSModulePath

    Переменная среды $env:PSModulePath содержит список папок
    локации, в которых ищутся модули и ресурсы. В Windows
    список расположений папок разделен точкой с запятой ( ; ) символ. На
    на платформах, отличных от Windows, двоеточие ( : ) разделяет расположение папок в
    переменная окружения.

    По умолчанию эффективным расположением, назначенным $env:PSModulePath , являются:

    • Общесистемные расположения: эти папки содержат модули, поставляемые с
      PowerShell. Модули хранятся в папке $PSHOME\Modules . Также,
      Это место, где установлены модули управления Windows.

    • Модули, устанавливаемые пользователем: это модули, устанавливаемые пользователем.
      Install-Module имеет параметр Scope , который позволяет указать
      установлен ли модуль для текущего пользователя или для всех пользователей. Для
      дополнительную информацию см. в разделе Install-Module.

      • В Windows расположение пользовательской области CurrentUser
        папку $HOME\Documents\PowerShell\Modules . Расположение
        AllUsers область $env:ProgramFiles\PowerShell\Modules .
      • В системах, отличных от Windows, расположение пользовательского CurrentUser
        областью действия является папка $HOME/.local/share/powershell/Modules . Местонахождение
        из области AllUsers /usr/local/share/powershell/Modules .

    Кроме того, программы установки, устанавливающие модули в другие каталоги, такие как
    как каталог Program Files, могут добавлять свои местоположения к значению
    $env:PSModulePath .

    Дополнительные сведения см. в разделе about_PSModulePath.

  • PSModuleAnalysisCachePath

    PowerShell обеспечивает контроль над файлом, используемым для кэширования данных о
    модули и их командлеты. Кэш читается при запуске при поиске
    команда и записывается в фоновом потоке через некоторое время после того, как модуль
    импортный.

    Расположение кэша по умолчанию:

    • Windows PowerShell 5.1: $env:LOCALAPPDATA\Microsoft\Windows\PowerShell
    • PowerShell 6.0 и выше: $env:LOCALAPPDATA\Microsoft\PowerShell
    • Не-Windows по умолчанию: ~/.cache/powershell

    Имя файла по умолчанию для кэша — ModuleAnalysisCache . Когда у тебя есть
    установлено несколько экземпляров PowerShell, имя файла включает
    шестнадцатеричный суффикс, чтобы для каждой установки было уникальное имя файла.

    Примечание

    Если обнаружение команд работает неправильно, например IntelliSense
    показывает несуществующие команды, вы можете удалить файл кеша. Кэш
    воссоздается при следующем запуске PowerShell.

    Чтобы изменить расположение кэша по умолчанию, установите переменную среды
    перед запуском PowerShell. Изменения этой переменной среды влияют только на
    дочерние процессы. Значение должно указывать полный путь (включая имя файла), который
    PowerShell имеет разрешение на создание и запись файлов.

    Чтобы отключить файловый кэш, установите для этого значения недопустимое местоположение, т.к.
    пример:

     # `NUL` это специальное устройство в Windows, на которое нельзя записать,
    # в системах, отличных от Windows, вы должны использовать `/dev/null`
    $env:PSModuleAnalysisCachePath = 'NUL'
     

    Задает путь к устройству NUL . PowerShell не может писать в
    путь, но ошибка не возвращается. Вы можете увидеть сообщения об ошибках, используя
    трассировщик:

     Trace-Command -PSHost -Name Modules -Expression {
      Import-Module Microsoft.PowerShell.Management-Force
    }
     
  • PSDisableModuleAnalysisCacheCleanup

    При записи кэша анализа модулей PowerShell проверяет наличие модулей
    которые больше не существуют, чтобы избежать излишне большого кеша. Иногда эти
    проверки нежелательны, и в этом случае вы можете отключить их, установив этот
    значение переменной среды до 1 .

    Установка этой переменной среды вступает в силу немедленно в текущем
    процесс.

Другие переменные среды, используемые PowerShell

Информация о пути

  • ПУТЬ

    Переменная среды $env:PATH содержит список расположений папок, которые
    операционная система ищет исполняемые файлы. В Windows список
    расположения папок разделяются точкой с запятой ( ; ) персонаж. На
    на платформах, отличных от Windows, двоеточие ( : ) разделяет расположение папок в
    переменная окружения.

  • ПУТЬ

    Переменная $env:PATHEXT содержит список расширений файлов, которые Windows
    считается исполняемым файлом. Когда файл сценария с одним из перечисленных
    extensions выполняется из PowerShell, скрипт запускается в текущей
    консольный или терминальный сеанс. Если расширения файла нет в списке, скрипт
    запускается в новом сеансе консоли.

    Чтобы убедиться, что сценарии для другого языка сценариев выполняются в текущем
    console, добавьте расширение файла, используемое языком сценариев. Для
    Например, для запуска скриптов Python в текущей консоли добавьте .py
    расширение переменной окружения. Для Windows для поддержки .py
    расширение как исполняемый файл, вы должны зарегистрировать расширение файла, используя
    команды ftype и assoc командной оболочки CMD. PowerShell не имеет
    прямой метод для регистрации обработчика файлов. Для получения дополнительной информации см.
    документация по команде ftype.

    Сценарии PowerShell всегда запускаются в текущем сеансе консоли. Вы не
    необходимо добавить расширение .PS1 .

  • XDG переменные

    На платформах, отличных от Windows, PowerShell использует следующую среду XDG.
    переменные, как определено в спецификации базового каталога XDG.

    • XDG_CONFIG_HOME
    • XDG_DATA_HOME
    • XDG_CACHE_HOME

Функции терминала

Начиная с PowerShell 7.2, для
управлять функциями виртуального терминала, такими как escape-последовательности ANSI, которые раскрашивают
выход. Поддержку escape-последовательностей ANSI можно отключить с помощью TERM .
или NO_COLOR переменных окружения.

  • СРОК

    Следующие значения $env:TERM изменяют поведение следующим образом:

    • немой — устанавливает $Host.UI.SupportsVirtualTerminal = $false
    • xterm-mono — устанавливает $PSStyle.OutputRendering = PlainText
    • xtermm — устанавливает $PSStyle.OutputRendering = PlainText
  • NO_COLOR

    Если $env:NO_COLOR существует, то $PSStyle.