# Created on savesnippets.com · https://savesnippets.com/Rpf0ta2x7G4cS9 # 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