Bash Prompt snip for IBM Cloud

nibalizer

Spencer Krum

Posted on December 11, 2019

Bash Prompt snip for IBM Cloud

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.

Alt Text

# 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

💖 💪 🙅 🚩
nibalizer
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.

Related

Bash Prompt snip for IBM Cloud
bash Bash Prompt snip for IBM Cloud

December 11, 2019