echo コマンドは、指定した文字列を標準出力に表示するコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、オプションの扱いに違いがあります。

基本的な使い方

編集
echo [オプション] [文字列]

指定した文字列を標準出力に表示します。

主なオプション(GNU coreutils 版)

編集
主なオプション
オプション 説明
-n 末尾の改行を省略
-e バックスラッシュによるエスケープシーケンスを有効化
-E バックスラッシュによるエスケープシーケンスを無効化(デフォルト)

文字列を表示

編集
echo "Hello, world!"
出力例
Hello, world!

末尾の改行を省略

編集
echo -n "Hello, world!"

(改行されずに出力される)

エスケープシーケンスを有効化

編集
echo -e "Hello\nWorld"
出力例
Hello
World

環境変数の値を表示

編集
echo "HOME is $HOME"
出力例
HOME is /home/user

コマンド置換を利用

編集
echo "Today is $(date)"
出力例
Today is Mon Jan 31 12:34:56 JST 2025

FreeBSD 版との違い

編集

FreeBSD でも echo コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。

主な違い:

編集
  1. -e オプションの扱い
    • FreeBSD の echo-e オプションをサポートせず、バックスラッシュの解釈はシェルの実装に依存する。
    • 代替として printf コマンドを使用することが推奨される。
    printf "Hello\nWorld\n"
    
  2. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると gecho という名前で GNU 版 echo が使える。
    pkg install coreutils
    gecho -e "Hello\nWorld"
    

詳しくは、それぞれの環境で man echo を確認してください。