"$"文字をエスケープするためにバックスラッシュを使用するときにechoコマンドに "-e"オプションが必要ない理由

これはbash組み込みに関するものですecho。 Bashのドキュメントによると、この-eオプションはバックスラッシュエスケープを解釈できます。
実行すると、 echo "Total Amount \$500"予想される出力が表示されます Total Amount $500。ここでは、そのオプションを使用せずにバックスラッシュを使用して "$"文字をエスケープできます -e。ただし、新しい行またはタブをエスケープするには、コマンドに次のオプションが必要です -eechoecho -e "Total Amount: \n \$500"

ベストアンサー1

bashのマニュアルでは、echoスイッチで使用する方法について次のように説明します-e

-eオプションが指定されたら、次のバックスラッシュエスケープ文字を解釈できます。

」を指定します。次のような「バックスラッシュエスケープ文字」と入力してリストします。

\a
alert (bell)

\b
backspace

\c
suppress further output

\e
\E
escape

\f
form feed

\n
new line

\r
carriage return

\t
horizontal tab

\v
vertical tab

\\
backslash

\0nnn
the eight-bit character whose value is the octal value nnn (zero to three octal digits)

\xHH
the eight-bit character whose value is the hexadecimal value HH (one or two hex digits)

\uHHHH
the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHH (one to four hex digits)

\UHHHHHHHH
the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHHHHHH (one to eight hex digits)

実際には()より()に近いので、混乱する可能性がありますescape sequenceescape characterescape character\

エスケープシーケンス

エスケープシーケンスは、文字または文字列リテラル内で使用されている場合はそれ自体では表現されませんが、直接表現するのが難しいまたは不可能な他の文字または文字シーケンスに変換される文字シーケンスです。

エスケープ文字

コンピューティングおよび通信では、エスケープ文字は、一連の文字から後続の文字の代替解釈を呼び出す文字です。エスケープ文字はメタ文字の特殊なケースです。一般的に言えば、エスケープ文字かどうかは状況によって決まります。

この-eオプションはエスケープ文字とはほとんど関係ありませんが、上記の文字と組み合わせて使用​​すると、sequences特別な意味を持つと解釈できます。

おすすめ記事