2017年3月7日

シングルクォートとダブルクォートの違いは?

Bashでは、シングルクォート(')とダブルクォート(")は区別されています。どちらもクォーテーション内を文字列として扱う記号ですが、文字列内の特殊記号(メタキャラクタ)の扱いが異なります。

例えば、Bashで文字列の頭に「$」を付けると変数への参照として扱われますが、シングルクォート内では「$」記号として扱われます。

$ echo "$USER"
north
$ echo '$USER'
$USER

文字列内でダブルクォートを使うためには、特殊記号としての意味を打ち消すため、バックスラッシュ記号(\)を付ける必要があります(エスケープシーケンス)。

$ echo "echo \"Hello, world.\""
echo "Hello, world."

一方、シングルクォート内では、ダブルクォート記号もそのまま使えます。

$ echo 'echo "Hello, world."'
echo "Hello, world."

簡単に言えば、引用符内の文字をすべて文字列として扱いたい時にはシングルクォートを使うようにするとよいでしょう。

0 件のコメント:

コメントを投稿