echoコマンドとは? わかりやすく解説

echoコマンド

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/29 14:15 UTC 版)

エコー (コンピュータ)」の記事における「echoコマンド」の解説

Unixなどのシステムにあるechoコマンドは、入力として引数与えられ文字列を、そのまま出力するコマンドである。必ずしもシェル内部コマンドとして実装なければならないわけではないので外部コマンドであることもあるが、何らかの理由あらゆる外部コマンド使えないなどの非常時のことなどもあり、(外部コマンド版もあるが)内部コマンドであることが多い。MS-DOSCOMMAND.COM(およびWindows NT系でそれを引き継いだcmd.exe内部コマンドECHOについては別に後述する。なお、正規UNIXおよび、その系統にあるUnix系のechoコマンドについて、癖のある問題があるのでここで特に記す(なおさらに、内部コマンドシェル依存)か、外部コマンドシェル無関係)か、という違いもあるので注意)。 標準であるPOSIXではechoコマンドに関してオプションによる標準的な動作は何も規定されていない正確には -n があった場合は implementation-defined である、といった規定がある)。これは、ごく初期には以下で示すサンプルのような、全く何のオプション認識しないバージョンもあったことと、標準化始められ時点で既に混乱収拾不可であったことが反映している(どんなオプションにも対応してないようechoプログラムオプション与えたとすると、そのままそのオプション入力みなして出力されてしまう。そのような期待されない動作全て未然に防ぐには、標準としては何も規定しない、とする他ない)。Unixにおいて、コマンド引数解釈メタ的標準が無いことが遠因であってよくあるUnixへの苦情原因典型ではある(『The Unix-Haters Handbook』など)。 システムによるが、-n オプション認識する場合は、最後に終端子(改行)を追加しない。-e オプション認識する場合は、\b などのエスケープシーケンス解釈するGNU coreutils版(GNU/Linuxでの外部コマンドecho専らこれ)のマニュアル参照)。BSDなど -e は認識しないものも多い。GNU AutotoolsAutoconfマニュアルの、「Portable Shell」 > 「Limitations of Shell Builtins」の中にあるechoに関する記述参照のこと。 問題の回避策としては、「コマンド実行するが全く何も(空文字列すらも)出力しない」という動作以外は、printfコマンドPOSIX記述参照のこと。なお、printf記事コマンドのほうのprintf説明ではない)を代替として使うことで解決できるC言語echo プログラムを書くと、次のうになる。 #include /* echo command-line arguments; 1st version */ main(int argc, char *argv[]) { int i; for (i = 1; i < argc; i++) printf("%s%s", argv[i], (i < argc-1) ? " " : ""); printf("\n"); return 0; }

※この「echoコマンド」の解説は、「エコー (コンピュータ)」の解説の一部です。
「echoコマンド」を含む「エコー (コンピュータ)」の記事については、「エコー (コンピュータ)」の概要参照ください

ウィキペディア小見出し辞書の「echoコマンド」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「echoコマンド」の関連用語

echoコマンドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



echoコマンドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのエコー (コンピュータ) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS