Переменные в Windows PowerShell, часть 1

Windows PowerShellВ своем изучении PowerShell мы уже имели дело с переменными. Настало время поговорить о них подробнее.

Переменные в Windows PowerShell всегда начинаются со знака доллара ($). Переменные создаются в момент присваивания им первого значения, так что отдельно это делать не надо.

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

Переменные оболочки PowerShell

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

  • Автоматические переменные — в них хранятся параметры состояния оболочки PowerShell. Данные переменные используются системой и их значения не должны меняться пользователем.
  • Переменные настроек — в них хранятся настройки текущего пользователя. Эти переменные также создаются оболочной PowerShell и доступны для изменения пользователям.

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

Переменная Описание
$$ Содержит последнее слово (или знак) последней полученной оболочкой строки
$? Показывает, успешно ли завершилась последняя операция
$^ Первое слово (или знак) последней полученной оболочной строки
$_ При использовании в блоках сценариев, фильтрах и инструкции Where содержит текущий объект конвейера
$Args Содержит массив параметров, передаваемых в функцию
$DebugPreference Указывает действие, которое необходимо выполнить при записи данных с помощью командлета Write-Debug
$Error Содержит объекты, для которых возникла ошибка при обработке в командлете
$ErrorActionPreference Указывает действие, которое необходимо выполнить при записи данных с помощью командлета Write-Error
$ForEach Обращается к итератору в цикле ForEach
$Home Указывает домашний каталог пользователя
$Input Используется в блоках сценариев, находящихся в конвейере
$LASTEXITCODE Содержит код завершения последнего выполнения исполнимого файла Win32
$MaximumAliasCount Максимальное число псевдонимов, доступных сеансу
$MaximumDriveCount Максимальное число доступных дисков, кроме предоставляемых операционной системой
$MaximumFunctionCount Максимальное число функций, доступных сеансу
$MaximumHistoryCount Максимальное число записей, сохраненных в истории команд
$MaximumVariableCount Максимальное число переменных, доступных сеансу
$PSHome Показывает имя каталога, в который установлен Windows PowerShell
$Host Содержит сведения о текущем узле
$OFS Используется в качестве разделителя при преобразовании массива в строку, по умолчанию имеет значение пробела
$ReportErrorShowExceptionClass Если значение переменной $True, показывает имена класса выведенных исключений
$ReportErrorShowInnerException Если значение переменной $True, показывает цепочку внутренних исключений
$ReportErrorShowSource Если значение переменной $True, показывает имена сборок выведенных исключений
$ReportErrorShowStackTrace Если значение переменной $True, происходит трассировка стека исключений
$StackTrace Содержит подробные сведения трассировки стека на момент последней ошибки
$VerbosePreference Указывает действие, которое нужно выполнить, если данные записываются с помощью командлета Write-Verbose
$WarningPreference Указывает действие, которое нужно выполнить при записи данных с помощью командлета Write-Warning в сценарии

В следующей части поговорим о пользовательских переменных и переменных среды Windows.

Продолжение следует…

Добавить комментарий

Ваш адрес email не будет опубликован.