2008年4月18日金曜日

echo -n

とあるシェルスクリプトで、なぜか、「-n」というログメッセージが表示されるのでなんだろうと思ったら…



Solaris8のechoでは

$ echo -n ""
-n

ああ、そうですか。





-nオプションは、改行しない、っていうオプションのつもりでつけてたんですが、



Solarisの/bin/shのbuiltinなechoと、/bin/echoでは、-nオプションというものは存在していなくて、-nそのものを表示してしまう。



ただしSolarisでも、/usr/ucb/echoの場合は、-nオプションは、改行しない、っていう意味に。



ああ・・・めんどくさい。







echo -nとは関係ないですが、ふと気になったので、Windows XPのコマンドプロンプトで確認。

C:\>echo
ECHO は <ON> です。

おお、これはMS-DOSのころから変わってない。



AUTOEXEC.BATで、最初にecho offと書くけど、そのecho off自体はエコーバックされてしまう。
で、MS-DOS バージョン4でしたっけ? @echo offとかけば、echo offもエコーバックしないようにできた。
ああ、懐かしい。



0 件のコメント:

コメントを投稿