В своем изучении 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.
Продолжение следует…
Статьи по теме: