Spencer Krum
Posted on December 11, 2019
The below script will add a pleasing visual queue of which account and region your are targeted at with IBM Cloud. Turn off color by setting $IBMCLOUD_PS1_COLOR_NO
to any value. set_prompt
and PROMPT_COMMAND
example below is just an example and you can use the __ibmcloud_ps1
function anywhere you'd configure your prompt.
# From Arch Wiki
txtblk='\e[0;30m' # Black - Regular
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtblu='\e[0;34m' # Blue
txtpur='\e[0;35m' # Purple
txtcyn='\e[0;36m' # Cyan
txtwht='\e[0;37m' # White
bldblk='\e[1;30m' # Black - Bold
bldred='\e[1;31m' # Red
bldgrn='\e[1;32m' # Green
bldylw='\e[1;33m' # Yellow
bldblu='\e[1;34m' # Blue
bldpur='\e[1;35m' # Purple
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
unkblk='\e[4;30m' # Black - Underline
undred='\e[4;31m' # Red
undgrn='\e[4;32m' # Green
undylw='\e[4;33m' # Yellow
undblu='\e[4;34m' # Blue
undpur='\e[4;35m' # Purple
undcyn='\e[4;36m' # Cyan
undwht='\e[4;37m' # White
bakblk='\e[40m' # Black - Background
bakred='\e[41m' # Red
bakgrn='\e[42m' # Green
bakylw='\e[43m' # Yellow
bakblu='\e[44m' # Blue
bakpur='\e[45m' # Purple
bakcyn='\e[46m' # Cyan
bakwht='\e[47m' # White
txtrst='\e[0m' # Text Reset
# Prompt snippet to show ibmcloud account status
__ibmcloud_ps1() {
if [ -f ~/.bluemix/config.json ]; then
ibm_user=$(cat ~/.bluemix/config.json | jq '.Account.Owner' | tr -d '"')
region=$(cat ~/.bluemix/config.json | jq '.Region' | tr -d '"')
if [ ! -z "${IBMCLOUD_PS1_COLOR_NO}" ]; then
echo "${ibm_user}@${region}"
else
echo "\[${bldpur}\]${ibm_user}\[${txtrst}\]@\[${bldylw}\]${region}\[${txtrst}\]"
fi
fi
}
# Just an example of where this goes
set_prompt() {
PS1="[$(__ibmcloud_ps1)]"
PS1+="\[${bldgrn}\]\u@\h\[${txtrst}\]:\[${bldblu}\]\w\[${txtrst}\]$ "
}
PROMPT_COMMAND=set_prompt
💖 💪 🙅 🚩
Spencer Krum
Posted on December 11, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.