【PowerShell】シングルクォーテーションとダブルクォーテーションの違い


この記事はプロモーションを含みます。

PowerShell

ホーム > PowerShell 逆引きリファレンス

PowerShellで使用出来る囲み文字である「シングルクォーテーション」と「ダブルクォーテーション」の挙動の違いを解説します。

はじめに

PowerShellで文字列を扱う際の囲み文字(記号)として、シングルクォーテーションとダブルクォーテーションがあります。
使用する囲み文字によって、動作が変わってくるので、それぞれ説明していきたいと思います。

シングルクォーテーションについて

シングルクォーテーションで文字列を囲んだ場合の動作を説明します。

シングルクォーテーションで文字列を囲むと、変数は文字列として扱われます。

実際の例を見てみましょう。

下記の例では、echoで変数[$str1]を指定していますが、
シングルクォーテーションで囲っているため、
変数は展開されず、そのまま「$str1」と表示されています。

PS C:\ws> $str1 = "あいうえお"
PS C:\ws> echo '$str1'
$str1

下記の例では、変数[$str2]に変数[$str1]を代入していますが、
シングルクォーテーションで囲っているため、
変数は展開されず、そのまま「$str1 かきくけこ」と表示されています。

PS C:\ws> $str1 = "あいうえお"
PS C:\ws> $str2 = '$str1 かきくけこ'
PS C:\ws> echo $str2
$str1 かきくけこ

ダブルクォーテーションについて

ダブルクォーテーションで文字列を囲んだ場合の動作を説明します。

ダブルクォーテーションで文字列を囲むと、変数は展開された文字列として扱われます。

実際の例を見てみましょう。

下記の例では、echoで変数[$str1]を指定していますが、
ダブルクォーテーションで囲っているため、
変数が展開されて、「あいうえお」と表示されています。

PS C:\ws> $str1 = "あいうえお"
PS C:\ws> echo "$str1"
あいうえお

下記の例では、変数[$str2]に変数[$str1]を代入していますが、
ダブルクォーテーションで囲っているため、
変数が展開されて、「あいうえお かきくけこ」と表示されています。

PS C:\ws> $str1 = "あいうえお"
PS C:\ws> $str2 = "$str1 かきくけこ"
PS C:\ws> echo $str2
あいうえお かきくけこ

まとめ

本記事では、実例を交えながら、囲み文字としてのシングルクォーテーションとダブルクォーテーションの挙動をそれぞれ説明してきました。
まとめると下記のようになります。

囲み文字動作
シングルクォーテーション囲った文字列がそのまま文字列として扱われる
ダブルクォーテーション囲った文字列に変数が含まれている場合、変数が展開された文字列として扱われる

関連記事

コメント

タイトルとURLをコピーしました