前提 Ubuntu で、Bash と Dash ではシェル組み込みの echo コマンドの挙動が異なります。特に Bash の echo は -e オプションが無いとエスケープシーケンスを解釈しませんが、Dash の echo はデフォルトでエスケープシーケンスを解釈します。この挙動は Bash を --posix モードで起動しても変わりません。 $ bash --posix -c "echo 'a\nb'" a\nb $ dash -c "echo 'a\nb'" a b 質問 なぜ Bash の echo は POSIX に反して デフォルトではエスケープシーケンスを解釈しないのでしょうか? あるいは、なぜ POSIX の Dash の echo はエスケープシーケンスを解釈するのでしょうか。どういう意図があってそのようなデフォルト動作にしているのか知りたいです。 ※歴史的にどちらの
