Подтвердить что ты не робот

Какая разница между одиночной кавычкой и двойной цитатой для определения строки в powershell

Простые вопросы, которые меня прослушивали: В powershell я могу определить строки так:

$s1 = "Boogety boo"

или

$s2 = '.net rocks'

Есть ли разница с интерпретатором?

4b9b3361

Ответ 1

Двойные кавычки допускают расширение переменной, а одинарные кавычки:

PS C:\Users\Administrator> $mycolor="red"
PS C:\Users\Administrator> write-output -inputobject 'My favorite color is $mycolor'
My favorite color is $mycolor

Источник: http://www.techotopia.com/index.php/Windows_PowerShell_1.0_String_Quoting_and_Escape_Sequences

(Я знаю версию 1.0, но принцип все тот же)

Ответ 2

Это не лучший ответ. Еще один способ сказать это.

Расширение переменной между апострофами и кавычками такое же, как и в оболочках UNIX (sh, ksh, bash). Использование апострофов приведет к символьной строке как есть, без обработки каких-либо экранов.

PS C:\Users\lit> $x = "`t"
PS C:\Users\lit> $x

PS C:\Users\lit> Write-Output "now${x}is"
now     is
PS C:\Users\lit> $x = '`t'
PS C:\Users\lit> $x
`t
PS C:\Users\lit> Write-Output "now${x}is"
now`tis
PS C:\Users\lit> $word = "easy"
PS C:\Users\lit> "PowerShell is $word"
PowerShell is easy
PS C:\Users\lit> 'PowerShell is $word'
PowerShell is $word