echo
はMultics内で始まりました。 Doug McIlroyによってCで「指体操」としてプログラムされ、有用であることが証明された後、バージョン2Unixの一部になりました。バージョン7のecho -n
はprompt
を置き換えました(echo
のように動作しましたが、出力を終了しませんでした行区切り文字付き)。
PWB / UNIX以降のUnixSystem IIIでは、echo
が\n
Cでは、オクタルエスケープシーケンスが\ooo
ではなく\0ooo
として表現されるという顕著な違いがあります。
第8版Unix echo
は-e
オプションを渡された場合にのみエスケープ拡張を行い、その動作は次のような他のいくつかの実装によってコピーされました。 BashまたはzshおよびGNU echo
の組み込みのecho
コマンド。
MS-DOSでは、このコマンドを使用できます。バージョン2以降。
現在、echo
の互換性のない実装がいくつか異なるオペレーティングシステムに存在します(多くの場合、同じものにいくつかあります)。システム)、デフォルトでエスケープシーケンスを拡張するもの、そうでないもの、オプションを受け入れるもの(実装によって異なるリスト)、そうでないものがあります。
は、最初の引数が-n
であるか、Unix仕様(POSIXのXSIオプション)で拡張が義務付けられているときにいずれかの引数に円記号が含まれている場合、動作を指定しないままにします(いくつかの)シーケンスの、そしてオプション処理を許可しません。実際には、多くのecho
実装はデフォルト環境に準拠していません。
これらの動作のバリエーションのため、echo
は、Unixライクなシステムでは移植性のないコマンドと見なされ、代わりにprintf
コマンド(利用可能な場合、第9版Unixで導入)が推奨されます。