Заметки о Windows и других программных продуктах Microsoft...

Использование Escape-последовательностей в PowerShell

Использование Escape-последовательностей в PowerShell

Практически в каждом языке программирования есть еscape-символы — специальные символы, с помощью которых можно изменять свойства следующих за ними символов. Наличие escape-символа говорит о том, что следующий за ним символ (или символы) следует обрабатывать особым образом. Комбинация escape-символа и следующих за ним символов называется escape-последовательностью.

В PowerShell в качестве escape-символа используется знак обратного апострофа (`). С его помощью можно производить следующие операции.

Экранирование переменной

Escape-символ перед знаком $ запрещает подставить вместо переменной ее значение. Например так мы получим значение переменной $a:

$a = 200
″The value is $a″

а так ее имя:

$a = 200
″The value is `$a″

использование escape-символа с переменными

 

Примечание. Обратите внимание, что escape-последовательности обязательно должны быть заключены в кавычки.

Еще пример. Предположим, что нам необходимо использовать знак $ (dollar) по его прямому назначению, например вывести фразу:

″It costs $200″

Однако после знака $ мы получим пустое место. А вот если перед знаком $ поставить escape-символ, то все получится как надо:

″It costs `$200″

использование escape-символа с переменными

Экранирование кавычек

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

″He said ″yes″.″

В этой ситуации необходимо либо использовать разные типы кавычек, либо воспользоваться escape-символом. Если поместить его перед двойными кавычками, то PowerShell интерпретирует их как обычный символ, а не как разделитель строк:

″He said `″yes`″.″

использование escape-символа с кавычками

Перенос строки

Escape-символ в конце строки указывает на то, что команда будет продолжена на следующей строке. Таким образом удобно разбивать на части длинные команды. Например:

Get-Process |`
where`
{$_.Name -match ″\d″}

использование escape-символа для продолжения команды

Форматирование

Некоторые escape-последовательности при использовании с кавычками создают управляющие инструкции, с помощью которых можно управлять выводом. PowerShell понимает следующие последовательности:

`0 — пустой символ (Null);
`a — звуковой сигнал передается на системный динамик;
`b — возврат (backspace);
`f — печать с новой страницы;
`n — символ новой строки;
`r — возврат в начало строки;
`t — горизонтальная табуляция;
`v — вертикальная табуляция.

Их удобно использовать в том случае, если требуется определенным образом отформатировать вывод команды. Для примера оформим выходные данные в виде таблицы:

″`0 one `t two `t three n `0 `n four `t five `t six `n seven `t eight `t nine `n `0 ″

использование escape-символа для форматирования

 

Справку по escape-последовательностям PowerShell можно вызвать командой Get-Help about_esc.

 
 
Комментарии

Пока нет комментариев.