echo $'\n' で改行が表示できる

ぐおお,知らんかった….


echo の引数に '\n' を与えると,普通 '\n' という文字列と認識される.エスケープ (\) を認識して欲しいときは -e オプションを付ける.-e オプションを付けると,以降ずっと \ が有効になるので,\ を表示したいときは \\ とする.

$ echo

$ echo '\n'
\n
$ echo -e '\n'


$ echo -e '\n''\\n'

\n
$

一方,$'\n' という表記ではエスケープを一時的に有効にできる.つまり,エスケープが有効な範囲と無効な範囲を混在できる.

$ echo $'\n'


$ echo $'\n\n'



$ echo $'\n''\n'

\n
$