Bash

Pretty-Print Last Exit Code

admin by @admin ADMIN
Jun 18, 2026
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
A tiny prompt-trick that shows the previous command's exit code in red when it failed. Stops you from missing silent errors in long terminal sessions.
Bash
Raw
# Stick this in ~/.bashrc
PROMPT_COMMAND='__rc=$?; '
PS1='$([[ $__rc -ne 0 ]] && printf "\[\e[31m\][%d]\[\e[0m\] " "$__rc")\u@\h \w \$ '

# Or as a one-shot in any script:
some_command
rc=$?
if [[ $rc -ne 0 ]]; then
    printf '\e[31m✗ exited with %d\e[0m\n' "$rc" >&2
fi

# A reusable wrapper that prints the timing AND exit code
run() {
    local start=$SECONDS
    "$@"
    local rc=$?
    printf '%s%s exit=%d  %ds\n' "$([[ $rc -eq 0 ]] && printf '\e[32m✓\e[0m ' || printf '\e[31m✗\e[0m ')" "$*" "$rc" "$((SECONDS - start))"
    return $rc
}
run sleep 2
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.