Символьные строки PowerShell

Символьные строки PowerShell предоставляет в виде объектов типа system.string, которые являют собой последовательность 32-битовых символов в кодировке Unicode. Система не накладывает ограничения на строку PowerShell. Любую строку можно заключить в одинарные или двойные кавычки, например:

PS С:\>$a='одинарные кавычки'
одинарные кавычки
PS С:\>$b="двойные кавычки "
двойные кавычки

Можно использовать в середине строки любые символы (в том числе символы разрыва строки и возврата каретки), кроме соответствующего одиночного закрываю­щего символа (одинарной или двойной кавычки). В середине одинарных кавычек могут находится и двойные кавычки и наоборот, например:

PS С:\> 'текст в "одинарных" кавычках'
Текст в "одинарных" кавычках
PS С:\> "текст в 'двойных' кавычках"
Текст в 'двойных' кавычках

Что бы вставить в середину текста двойную или одинарную кавычку, то их надо прописать дважды, например:

PS С:\> $a='текст в ''одинарных кавычках'
PS С:\> $a
текст в 'одинарных кавычках
PS С:\> $b="Строка в ""двойных кавычках"
PS С:\> $b
Строка в "двойных кавычках

Теперь рассмотрим такой пример, создадим переменную PowerShell $c и присвоим ей значение 111,  а далее вставим ее в середину строки:

PS С:\> $c=111
PS С:\> "переменная c равна $c"
"переменная c равна 111"
PS С:\> 'переменная c равна $c'
переменная c равна $c

Как видим, подстановка значения в переменную $c происходит только, если она находится в строке с двойными кавычками. Что бы переменная не принимала своего значения и в двойных кавычках, то перед ней надо поставить символ обратного апострофа `, например:

PS С:\> "переменная c равна `$c"
переменная c равна $c

Строки PowerShell позволяют в своем составе содержать символы escape-последовательностей, таких как возврат каретки или разрыв строки, для этого, перед символом escape-последовательности надо вставить символа обратного апострофа`, ниже приведен список escape-последовательности PowerShell, которые вы можете вставить в строки:
`n – разрыв строки
`r – возврат каретки
`t – горизонтальная табуляция
`a – звуковой сигнал
`b – забой (backspace)
`’ – одинарная кавычка
`” – двойная кавычка
`0 – пустой символ
“ – обратный апостроф

PowerShell допускает вставку не только готовых переменных, но и математических операций, например:

PS  С:\>   "Сума 3 и 2 дает $(3+2)"
Сума 3 и 2 дает 5

PowerShell в добавок к обычным строкам (одинарные или двойные кавычки) предоставляет пользователю так называемые автономные строки (также известные под именем строк типа “here-string”). Они могут использоваться, если надо вставить в сценарий большой блок текста или для генерации текстовой информации для других программ, их формат следующий:
@<кавычка><разрыв_строки>блок текста<разрыв_строки><кавычка>@

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

 

PS С:\> $а=@"
>> 1 Первая строка
>> $(1+1) Вторая строка
>> "Третья строка"
>> "@
>>
PS С:\> $а
1 Первая строка
2 Вторая строка
"Третья строка"
 
PS С:\> $а=@'
>> 1 Первая строка
>> $(1+1) Вторая строка
>> 'Третья строка'
>> '@
PS   С:\>   $а
1 Первая строка
$(1+1)   Вторая строка
'Третья строка'

Как видим, использование автономных строк в PowerShell позволяет избегать вода длинной строки с использование символов escape-последовательности.

Сайт babyb.com.ua продает брендовая детская одежда - 100% качество и надежность. .

Комментарии закрыты.