トップ «前の日記(2013-10-04(Fri)) 最新 次の日記(2013-10-07(Mon))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2013-10-05(Sat) ちょっと曇りがち

エスケープシーケンス

前に作った スクリプトをubuntuにコピペすると、 まともに動かなかった。

$ sh color.sh 
\E[31mHello,             ESC[31m
\E[32mHello,             ESC[32m
\E[33mHello,             ESC[33m
...

printf(1)を手打ちにすると、ちゃんと動く。

$ printf "\E[31mHello\n"
Hello

端末を xterm にしたり、printfをフルパスにしてみたり、 色々やってみたあげく、

$ ls -alF `which sh`
lrwxrwxrwx 1 root root 4  5月 28  2012 /bin/sh -> dash*
 
$ bash color.sh
Hello,             ESC[$31m
Hello,             ESC[$32m
Hello,             ESC[$33m
...

で謎が解けた。/bin/sh が /bin/dash になっていた のが敗因らしい。
$ sudo ln -sf `which bash` `which sh` すると ちゃんと動いた。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。