OpenBSD CARP router/firewall zsh shell prompt
Jump to navigation
Jump to search
Reasoning
Recently, I've been working with CARP clustered routers and firewalls pretty often,
and found that too often I'm troubleshooting the wrong machine.. This little hack
should help prevent that. It changes the hostname portion of my zsh shell prompt to
reflect whether the current machine is a master or a backup in the cluster.
It is only tested in zsh on OpenBSD.. if you try this elsewhere.. please update this page.
Zsh Prompt
My prompt looks like this:
^:jontow@ort1:~%
The 'ort1' portion is what this changes.. if you leave 'PROMPT_PERCENT=true' in here, it
should also take effect when you 'sudo zsh' or otherwise elevate privileges.
if [ "$(uname -s)" = "OpenBSD" ]; then
# Are we the master?
if [ "$(ifconfig carp | grep "carp:" | grep -e "MASTER" | head -1)" != "" ]; then
PROMPT_HOST="^[[1;32m%m^[[0;0m"
else
PROMPT_HOST="^[[1;31m%m^[[0;0m"
fi
else
PROMPT_HOST="%m"
fi
PROMPT_PERCENT=true ; export PROMPT_PERCENT
PROMPT="%(?,^,_):%n@${PROMPT_HOST}:%~%# " ; export PROMPT