コマンド
echo
文字列を表示
最終更新
UNIX/Linux の echo コマンドは引数で与えた文字列を標準出力に出力するだけのコマンドである。シェルの内部コマンドの echo と、/bin/echo が存在することに注意。
●echo コマンドの基本的な使い方
echo コマンドは、引数で指定した文字列を表示する。
複数の引数を与えると、すべての引数を 1行で表示する
メタキャラクタや連続した空白を含む場合はダブルクォートで囲む:
% echo "*hoge fuga [??]"
*hoge fuga ??
複数行の出力を行う場合は、echo コマンドを複数回書く。
% echo abc; echo def
abc
def
●echo コマンドでシェル変数を表示する
シェル変数を表示 (sh・bash の場合):
% var=123
% echo $var
123
シェル変数を表示 (csh・tcsh の場合):
% set var=123
% echo $var
123
●echo コマンドで環境変数を表示する
環境変数を表示
% echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:...
●echo コマンドの改行抑止
echo コマンドは自動的に最後に改行を出力する。この改行表示をやめたい場合、2種類の方法があり、統一したやり方は存在しない。
sh・bash・csh・tcsh (デフォルト挙動) や、FreeBSD の /bin/echo・Linux の /bin/echo では -n オプションを付ける。
% echo -n abc; echo def
abcdef
Solaris などの SysV 系の sh・csh や /bin/echo は \c で改行を抑止する。
% echo 'abc\c'; echo def
abcdef
tcsh の内部 echo について、デフォルトは -n が有効であるが、シェル変数 echo_style で指定することで \c での改行抑止も有効にすることもできる。
改行について悩みたくない場合は、echo コマンドではなく printf コマンドを使うこと。
tcsh の内部コマンドである echo コマンドで改行を抑止する方法については、シェル変数 echo_style を参照。
●関連コマンド
文字列を出力する方法として、printf コマンドを使う手もある。
echo コマンドは xargs コマンドと組み合わせても便利である。