sbtコマンドの出力は色付けがされていて綺麗で見やすいのですが、出力結果をファイルに保存する時にカラーシーケンスが邪魔になってしまいます。
そこで、ttyが無い場合やパイプする場合には色付けを除去するようにするラッパーコマンドを作ってみました。
#!/bin/bash
tty -s
if [ "$?" != "0" -o -p /dev/stdout ]; then
export SBT_OPTS="-Dsbt.log.noformat=true ${SBT_OPTS}"
fi
current_dir=`dirname $0`
sbt_path=${current_dir}/sbt
${sbt_path} $@
sbtスクリプトで$SBT_OPTSをjavaコマンドに入れていることが前提になります。
sbtスクリプト内に、上記のif文の箇所を記述することでも実現できます。
2014/07/14 20:00
xuwei_k さんのアドバイスを受けてオプションで色付け無しにするように修正しました。