組み込みの echo は \n を改行とは解釈してくれないので、こんな方法を使うことになるかと。
# 改行をバックスラッシュでエスケープする echo "hoge\ fuga" # printf コマンドを使う printf "hoge\nfuga\n" # ヒアドキュメントを使う echo <<MESSAGE hoge fuga MESSAGE # 外部コマンドの echo を明示的に使う /usr/bin/echo "hoge\nfuga"
cshの組み込みコマンドechoにて、\nを改行コードとして扱いたいです。
「csh 組み込みの echo」は必須条件ですか? 必須で無ければ、
/bin/echo -e "test\ntest"
として、外部コマンドの echo を使うとか。ただ、「-e」を付けるのは、GNU coreutils の流儀なので、Solaris と HP-UX とかだと、そもそも「-e」は不要かもしれません。
# 多分、Solaris は -e 不要でパスは /usr/bin/echo のはず。
あと、純粋な csh じゃなくて、「csh として起動しているけど、実体は tcsh」であれば、
set echo_style=sysv
とした後であれば、「echo "test\ntest"」にすれば、お望みの結果になりますが、おそらく、純粋な csh には echo_style という変数自体が無いはずです。
ところで、OS は? Solaris の man page (csh(1))とか、tcsh の echo_style の記述を読むと、SystemV 系なら、改行されるのが普通っぽいですが、BSD 系? MacOS?