Bash ドキュメントには次のように記載されています。
引用符のないバックスラッシュ '\'はBashエスケープ文字です。以下を除き、次の文字のリテラル値を保持します。新しいチーム。もし\新しいチームペアが発生し、バックスラッシュ自体は引用されません。 \新しいチーム行連続で処理されます(つまり、入力ストリームから削除され、事実上無視されます)。
そして次:
バックスラッシュは、'$'、'''、''''、'\'、または文字のいずれかが後に続く場合にのみ特別な意味を維持します.新しいチーム。二重引用符内では、これらの文字の1つに続くバックスラッシュが削除されます。特別な意味を持たない先行バックスラッシュ文字は変更されません。
「改行」とはどういう意味ですか? 「n」文字ですか?
答え1
リテラル改行文字(LF、ASCIIの10進数10)を表します。各行の末尾に1つずつ。バックスラッシュは、次のスクリプトに示すように連続した行を作成します。
#!/bin/sh
echo foo\
bar
スクリプトには、バックスラッシュ改行文字が削除された場合、echo foo\↵bar
次のものが含まれます。echo foobar
だから出力されますfoobar
。 (試してみてください。)
答え2
「改行」とはどういう意味ですか? 「n」文字ですか?
いいえ、n 文字ではありません。printf
このコマンドに印刷される内容は次のとおりです。
$ printf '\n'
また、英語で「Line Feed(LF)」と呼ばれるASCII文字番号10(16進数0a)です。ASCIIリスト
実際にウィキペディアにそれに関する全ページ。
数値(16進数)を表示するには、両方のコマンドが表示されます。
$ printf '\n' | od -tx1
0000000 0a
0000001
$ printf '\n' | xxd -p
0a