Skip to content

Instantly share code, notes, and snippets.

@bennettp123
Created June 9, 2020 06:28
Show Gist options
  • Save bennettp123/be9e7f8cd4e4b551dd85227908dd7eae to your computer and use it in GitHub Desktop.
Save bennettp123/be9e7f8cd4e4b551dd85227908dd7eae to your computer and use it in GitHub Desktop.
A sample dynamic/custom prompt
# NOTICE: This file is kept in source control; see
# https://gitlab.com/bennettp123/bash_profile
CLICOLOR=1
export CLICOLOR
DIM='\[\e[2m\]'
NORMAL='\[\e[0m\]'
BOLD='\[\e[1m\]'
GREEN='\[\e[32m\]'
BLUE='\[\e[34m\]'
YELLOW='\[\e[33m\]'
RED='\[\e[91m\]'
if [ -n "$CLICOLOR" ]; then
if [ `id -u` -eq 0 ]; then
PS1="\n${RED}\u@${YELLOW}\H${NORMAL}\n${BLUE}\w${NORMAL}\n${BOLD}\$${NORMAL} "
else
PS1="\n${GREEN}\u@${YELLOW}\H${NORMAL}\n${BLUE}\w${NORMAL}\n${BOLD}\$${NORMAL} "
fi
fi
# dynamic prompts
aws_profile_info() {
if [ -z "$ORIGINAL_PS1" ]; then
ORIGINAL_PS1="$PS1"
fi
PS1="$ORIGINAL_PS1"
# custom virtualenv
if [ -n "$VIRTUAL_ENV" ] && env | grep -q VIRTUAL_ENV; then
if [ -n "$CLICOLOR" ]; then
PS1="\n${DIM}VIRTUAL_ENV=$VIRTUAL_ENV${NORMAL}$PS1"
else
PS1="($(basename "$VIRTUAL_ENV")) $PS1"
fi
fi
# custom ecs profile
if [ -n "$ECS_PROFILE" ] && env | grep -q AWS_PROFILE; then
if [ -n "$CLICOLOR" ]; then
PS1="\n${DIM}ECS_PROFILE=${ECS_PROFILE}${NORMAL}$PS1"
else
PS1="[${ECS_PROFILE}] $PS1"
fi
fi
# custom aws profile
if [ -n "$AWS_PROFILE" ] && env | grep -q AWS_PROFILE; then
if [ -n "$CLICOLOR" ]; then
PS1="\n${DIM}AWS_PROFILE=${AWS_PROFILE}${NORMAL}$PS1"
else
PS1="[${AWS_PROFILE}] $PS1"
fi
fi
# custom docker machine
if [ -n "$DOCKER_MACHINE_NAME" ] && env | grep -q DOCKER_MACHINE_NAME; then
if [ -n "$CLICOLOR" ]; then
PS1="\n${DIM}DOCKER_MACHINE_NAME=$DOCKER_MACHINE_NAME${NORMAL}$PS1"
else
PS1="{${DOCKER_MACHINE_NAME}} $PS1"
fi
fi
if [ -n "$PULUMI_CONFIG_PASSPHRASE" ] && env | grep -q PULUMI_CONFIG_PASSPHRASE; then
if [ -n "$CLICOLOR" ]; then
PS1="\n${DIM}PULUMI_CONFIG_PASSPHRASE=${PULUMI_CONFIG_PASSPHRASE}${NORMAL}$PS1"
else
PS1="{${PULUMI_CONFIG_PASSPHRASE}} $PS1"
fi
fi
}
PROMPT_COMMAND="aws_profile_info${PROMPT_COMMAND:+; $PROMPT_COMMAND}"
# NOTICE: This file is kept in source control; see
# https://gitlab.com/bennettp123/bash_profile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment