diff --git a/.profile b/.profile index a0dd770c..ce34aace 100755 --- a/.profile +++ b/.profile @@ -264,22 +264,21 @@ alias cp='cp -i' alias d='du -hs' alias todo='$EDITOR "$HOME/Documents/todo"' -# Set up a default PS1 -# This *should* work for all terminals. I know it works on ksh -_ps1() { +# Set up a default PS1 for bash +_ps1bash() { exitcode="$?" - r="\e[0m" - bg_red="\e[41m" - bg_yellow="\e[43m" - bg_blue="\e[44m" - fg_black="\e[30m" - fg_red="\e[31m" - fg_green="\e[32m" - fg_yellow="\e[33m" - fg_blue="\e[34m" - fg_magenta="\e[35m" - fg_grey="\e[37m" - fg_bold="\e[1m" + r="\[\e[0m\]" + bg_red="\[\e[41m\]" + bg_yellow="\[\e[43m\]" + bg_blue="\[\e[44m\]" + fg_black="\[\e[30m\]" + fg_red="\[\e[31m\]" + fg_green="\[\e[32m\]" + fg_yellow="\[\e[33m\]" + fg_blue="\[\e[34m\]" + fg_magenta="\[\e[35m\]" + fg_grey="\[\e[37m\]" + fg_bold="\[\e[1m\]" # Add hostname prefix in SSH sessions # Yes, shellcheck. I get it. That's what the or is for @@ -343,7 +342,7 @@ _ps1() { fail="${fg_bold}${fg_red}?" fi # shellcheck disable=2059 - printf "[${prefix}${cpwd}${r}]${fail}${r}${prompt}${r} " + PS1="[${prefix}${cpwd}${r}]${fail}${r}${prompt}${r} " } # And export our PS1 @@ -352,8 +351,9 @@ case "$_baseshell" in # Don't do this on ZSH # I have a custom theme for that ;; - *bash|ksh) - export PS1='$(_ps1)' + *bash) + export PS1="" + export PROMPT_COMMAND=_ps1bash ;; *) export PS1='[\e[31m\w\e[0m]\e[32m\$\e[0m '