LoginSignup
17
14

More than 5 years have passed since last update.

Mac の echo に色がつかない・・・

Last updated at Posted at 2015-01-07

Ubuntu 使っていると ANSI エスケープシーケンス使って:

$ echo '\e[32mRED!!!\e[0m'

Screenshot from 2015-01-07 12:59:05.png

みたいなことをしても色がつくけれど Mac の echo はだと上手く行かない:

$ echo '\e[32mRED!!!\e[0m'
\e[32mRED!!!\e[0m

対処方法 1. coreutils をインストールする

Ubuntu と同じ coreutils の echo を使う。

MacPorts で入れると、gecho って名前でインストールされるので、alias echo=gecho しましょう。

対処方法 2. 書き方を変える

文字列リテラルのまえに $ を書く:

$ echo $'\e[32mRED!!!\e[0m'

$'...' で括られた文字列は \e, \a, \n などのエスケープを認識してくれるようになります。

ちょっとしたスクリプトで使うならこっち。

POSIX に倣うならどう書くのがいいんだろう。

17
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
14