ubuntu上のpythonでechoの-eオプションを実行させられなかった
前のやつをubuntuなマシンで動かそうと思ったら動かなくて原因探った。
前のやつというのはGUI無い環境でもターミナル内に画像を表示するよってやつで、-eオプションつけたechoをpythonから呼んでいた。
なんか画像表示されないなーと思ったら、スクリプトの最後の
subprocess.call(code,shell=True)
の部分に問題があった。
どうやらsubprocess.call(code,shell=True)は
sh -c "code"
と同義らしく、確かにコマンドラインでsh -c "echo -e a\tb"みたいなことしてもうまくいかない。
結局ubuntuでは/bin/sh -> dash になってて、dashではechoの-eオプションが使えないのではないか、それが原因ではなかろうかと推測された。
というわけで該当部分を
subprocess.call(code.split(' '))
に修正したら治った。
…この辺まったく知らないしなんとかしなきゃならんなあ