/usr/bin/bash: Difference between revisions
Line 268: | Line 268: | ||
二重引用符で文字を囲むと、引用符内のすべての文字のリテラル値が保持されるが、$、`、 \、およびヒストリ展開が有効な場合は! シェルがposixモードの場合、! はヒストリ展開が有効になっていても、二重引用符の中では特別な意味を持たない。 文字$と`は、二重引用符内でも特別な意味を持つ。 バックスラッシュは、$、`、", \、<改行> のいずれかの文字が続く場合のみ特別な意味を持つ。 二重引用符の前にバックスラッシュを付けると、二重引用符の中で引用符を付けることができる。 有効にすると、二重引用符の中に現れた ! がバックスラッシュでエスケープされない限り、履歴展開が実行される。 の前のバックスラッシュは削除されない。 | 二重引用符で文字を囲むと、引用符内のすべての文字のリテラル値が保持されるが、$、`、 \、およびヒストリ展開が有効な場合は! シェルがposixモードの場合、! はヒストリ展開が有効になっていても、二重引用符の中では特別な意味を持たない。 文字$と`は、二重引用符内でも特別な意味を持つ。 バックスラッシュは、$、`、", \、<改行> のいずれかの文字が続く場合のみ特別な意味を持つ。 二重引用符の前にバックスラッシュを付けると、二重引用符の中で引用符を付けることができる。 有効にすると、二重引用符の中に現れた ! がバックスラッシュでエスケープされない限り、履歴展開が実行される。 の前のバックスラッシュは削除されない。 | ||
特別なパラメータである*と@は、二重引用符で囲むと特別な意味を持つ(下記の[[#PARAMETERS|PARAMETERS]]を参照)。 | 特別なパラメータである*と@は、二重引用符で囲むと特別な意味を持つ(下記の[[#PARAMETERS|PARAMETERS ]]を参照)。 | ||
$'string'という形式の単語は特別に扱われる。 この単語は文字列に展開され、バックスラッシュでエスケープされた文字が ANSI C標準の指定に従って置き換えられる。 バックスラッシュ・エスケープ・シーケンスが存在する場合は、以下のようにデコードされる: | $'string'という形式の単語は特別に扱われる。 この単語は文字列に展開され、バックスラッシュでエスケープされた文字が ANSI C標準の指定に従って置き換えられる。 バックスラッシュ・エスケープ・シーケンスが存在する場合は、以下のようにデコードされる: |