背景
grep no_exit_text sample/
で失敗しても何もエラーが返してこないので、ハマっていました!コマンドを実行後の終了ステータスを常に知っておきたいです!
- macOS Mojave 10.14.2
- fish, version 3.0.0
fish shellはめちゃ簡単にできます!
実装
~/.config/fish/functions/fish_prompt.fish
function fish_prompt --description 'Write out the prompt'
set exit_status $status
if test "$exit_status" -eq 0
set status_color normal
else
set status_color red
end
if test -z $WINDOW
printf '%s%s@%s%s%s%s: %s%d%s> ' (set_color yellow) (whoami) (set_color purple) (prompt_hostname) (set_color $fish_color_cwd) (prompt_pwd) (set_color $status_color) $exit_status (set_color normal)
else
printf '%s%s@%s%s%s(%s)%s%s: %s%d%s> ' (set_color yellow) (whoami) (set_color purple) (prompt_hostname) (set_color white) (echo $WINDOW) (set_color $fish_color_cwd) (prompt_pwd) (set_color $status_color) $exit_status (set_color normal)
end
end
正常終了のときにはnormal
の色で、エラーの時には赤で表示されます。以下のようです。