echo エコー

英語表記echo

日本語表記文字列表示

正式名称echo

危険度安全

What does it mean?

文字列や変数展開結果を標準出力へ表示します。手軽ですが、エスケープ解釈や-nの扱いに実装差があるため、厳密な出力制御にはprintfを使うほうが安全です。

Command Quest

echo を今日の道具にする

文字列や変数展開結果を標準出力へ表示します。手軽ですが、エス...

$ echo [文字列 ...]
関連用語12
次のコマンド0
FAQ1
参照5

概要

文字列や変数展開結果を標準出力へ表示します。手軽ですが、エスケープ解釈や-nの扱いに実装差があるため、厳密な出力制御にはprintfを使うほうが安全です。

基本構文

echo [文字列 ...]

詳細解説

echoは、シェル学習の最初期に触れる出力系コマンドです。変数展開の確認、区切り文字付きの簡単な表示、シェルスクリプト中の進行状況表示などに広く使われます。

ただし、echoは見た目以上に互換性差の影響を受けやすいコマンドです。-nをオプションとして扱うか文字列として扱うか、バックスラッシュを解釈するかどうかは実装差があります。POSIXでも、移植性が必要な場面ではprintfの使用が推奨されています。

このコマンドを使う場面

簡単な文字列表示、変数展開の確認、シェルスクリプト中の途中経過表示、パイプラインの先頭で短い文字列を流したい時に使います。

まず安全に試す方法

1. name="Linux"
2. echo "$name"
3. echo "A B C"
4. echo '$name'

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. 二重引用符と単一引用符で変数展開結果がどう変わるか確認します。

  2. 改行制御とタブ出力でechoとprintfの違いを観察します。

資格試験との関連

  • LinuC レベル1
    範囲: 1.03.1 コマンドラインの操作
    根拠: official
    LinuCレベル1では、コマンドライン操作やシェル環境の理解が問われます。echoはその基礎を支える代表的なコマンドです。
  • LPIC-1
    範囲: 105.1 シェル環境のカスタマイズと利用
    根拠: official
    LPIC-1では、シェル環境、変数、履歴、コマンド解決の理解が重視されます。echoはその周辺知識と一緒に学ぶ価値が高いコマンドです。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    試験横断で、echoはコマンドライン操作、手順読解、トラブルシュートの基礎体力を作る項目です。

オプション

  • -n
    一部実装で末尾改行を出さずに表示します。
    echo -n "name="
  • -e
    一部実装でバックスラッシュエスケープを解釈します。
    echo -e "atb"

実行結果サンプル

  • echo "Hello, Linux"
    Hello, Linux
  • name="Kernel" echo "$name"
    Kernel

戻り値コード

  • 0 正常終了しました。
  • >0 出力失敗やシェル実装依存のエラーが発生しました。

使用例

  • echo Hello
  • name="Linux"; echo "$name"
  • echo "処理を開始します"

よくあるエラー

  • echo -eが環境によって効いたり効かなかったりする
    原因: echoのエスケープ解釈は実装差があります。
    対処: 改行やタブを確実に出したい場合はprintfを使います。
  • echo $varで空白が崩れた
    原因: 引用していないため、シェルの単語分割やパス名展開の影響を受けます。
    対処: 通常はecho "$var"のように二重引用符で囲みます。

導入・互換性情報

POSIXのechoは歴史的経緯が大きく、-nやバックスラッシュ解釈の扱いに実装差があります。移植性が必要な用途ではprintfを使うのが安全です。

  • Debian GNU/Linux / 13 / Bash 5.2.37

注意点 / セキュリティリスク

危険度は低いですが、設定ファイル生成やパイプ処理へ流す場面では、引用不足やエスケープ差が不具合の原因になります。厳密な制御が必要ならprintfへ切り替えてください。

FAQ

  • Q. echoとprintfはどう使い分けますか。
    A. 簡単な表示はecho、移植性と整形精度が必要な時はprintfです。

関連用語

  • POSIX
  • プロンプト
  • PS1
  • wildcard
  • glob
  • quote
  • escape sequence
  • 標準出力
  • 標準エラー出力
  • リダイレクト
  • script
  • Bash scripting

参照リンク

関連記事