@bataさんにご指摘いただいて追記しました!研修でこれから書く予定のWebアプリの開発環境がCentOS7なのでそれに合わせてしこしこdotfilesを書いて、つい先日完成させた。sota1235/dotfilesそれを手元のMacで動かしたところ、インストールコマンドのechoの挙動がおかしかったので直した(今は直ってます)。直す前インストールにそれっぽさを出すため、何をしてるかを色付きで出力していた(本当に簡易だが...)一色だと寂しいし複数色にできるようにしてそれっぽさ醸し出そうと思って手元で./install叩いたらこうなった。色がつかず、色をつけるためのエスケープシーケンスどころかechoの-eオプションまで出力されてしまっている。修正方法とりあえずいろいろ調査してみる。-eを叩くとどうなるかそもそも-eオプションはエスケープシーケンスを出力しないためのもの。適当に叩いてみるとこうなる。-eすると以下のような結果になり、Shellscriptの時と同じ現象に陥る。エー...試しに以下のようなShellファイルを作って試す。"hello"んで以下の様に実行するとこうなる。commandじゃなくなってる。Shellscriptを実行してるのはshだけど今の僕のShellはzsh。ことでzshで同じファイルを実行してみる。試しにbashでも実行してみる。表でまとめてみるとこんな感じになってる。有効zshはビルトインコマンドだから動くとして、shとbashで挙動が違うのがマジで謎だ...困った。結局どうしたか結論としてはechoの替わりにprintfを使うことにしました。ggってみるといくらかの人たちが同じようなことで困っていました。この状態でechoの-eオプション使うと実態わからないまま環境ごとに切り分けなきゃいけなくなって気持ち悪いけど、printfを使えばどの環境でもおおよそ同じ動きをするのでこちらを採用しました(色つけるのにオプションも必要ないしね)。"\033[34m$*\033[0m\n"って感じになりました。Xでのechoの-eオプションの挙動がアクロバティック-eオプションを使う理由が色付き出力であればprintfを活用すべしecho周りの謎は答えがわかったらまた記事書きます!もしくは誰か調べてく(ry追記@bataさんより以下のようなご指摘をいただきました。7そもそもwhichコマンドで検証した時点でミスしていたようです。