/ / powershellで文字列を定義する単一引用符と二重引用符の違い - powershell

powershellで文字列を定義するための一重引用符と二重引用符の違いは何ですか - powershell

私を悩ませている単純な質問:PowerShellでは、文字列を次のように定義できます。

$s1 = "Boogety boo"

または

$s2 = ".net rocks"

通訳に違いはありますか?

回答:

回答№1は24

二重引用符では変数を拡張できますが、一重引用符ではできません。

PS C:UsersAdministrator> $mycolor="red"
PS C:UsersAdministrator> 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については2

これはより良い答えになろうとしているのではありません。別の言い方をすれば。

アポストロフィと引用符の間の変数展開は、UNIXシェル(sh、ksh、bash)の場合と同じです。アポストロフィを使用すると、エスケープを処理せずに文字ストリングをそのまま使用します。

PS C:Userslit> $x = "`t"
PS C:Userslit> $x

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