エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
BashとDashでechoのエスケープシーケンスに対する挙動が異なるのは何故?
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
BashとDashでechoのエスケープシーケンスに対する挙動が異なるのは何故?
前提 Ubuntu で、Bash と Dash ではシェル組み込みの echo コマンドの挙動が異なります。特に Bash の e... 前提 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 はエスケープシーケンスを解釈するのでしょうか。どういう意図があってそのようなデフォルト動作にしているのか知りたいです。 ※歴史的にどちらの