zshの小技

色つきechoのシェル関数

今更ながら。

echo-red () { echo -n '\033[31m'; echo "$@"; echo -n '\033[0m' }
echo-green () { echo -n '\033[32m'; echo "$@"; echo -n '\033[0m' }
echo-yellow () { echo -n '\033[33m'; echo "$@"; echo -n '\033[0m' }
echo-blue () { echo -n '\033[34m'; echo "$@"; echo -n '\033[0m' }
echo-magenta () { echo -n '\033[35m'; echo "$@"; echo -n '\033[0m' }
echo-cyan () { echo -n '\033[36m'; echo "$@"; echo -n '\033[0m' }

コマンドの開始時刻と終了時刻を表示

いつどんなコマンドを実行したかが一目わかるように開始時刻と終了時刻を表示してみた。

precmd () { echo-blue `date` }
preexec () { echo-red `date` }

precmdはプロンプトに戻る直前に実行、preexecはコマンド実行直前に実行されるシェル関数。