質問: エコーで改行文字を印刷する方法は? このようにhexdumpで文字列をダンプします_2031 3334 2e30 0a32 2032 3331 302e 000a_。 _0x0a_が改行文字であることは明らかですが、この文字列をエコーしようとすると、常に_1 430.2 2 13.0_が返されます。_-e_フラグ。何が問題なのでしょうか?テーリング_\0_は出力を台無しにしますか? _0x0a_を新しい行に出力する代替手段はありますか?よろしくお願いします。
回答: posix 7はできないと言っています http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html -eは定義されておらず、バックスラッシュは実装で定義されています。 最初のオペランドが-nの場合、またはいずれかのオペランドに<backslash>文字が含まれている場合、結果は実装定義です。 オプションのxsi拡張がない限り。代わりに printf を使用してください: formatオペランドは、xbdファイル形式表記[...]で説明されている形式文字列として使用されます。 ファイル形式表記 : \ n <改行>印刷位置を次の行の先頭に移動します。 また、ubuntu 15.10とほとんどのディストリビューションは、次のようにechoを実装しています。 bashビルトイン:help echo スタンドアロンの実行可能ファイル:which echo 混乱を招く恐れがあります。