summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-shells/bash/files/bashrc16
1 files changed, 9 insertions, 7 deletions
diff --git a/app-shells/bash/files/bashrc b/app-shells/bash/files/bashrc
index f3618fc647c3..87a55629f695 100644
--- a/app-shells/bash/files/bashrc
+++ b/app-shells/bash/files/bashrc
@@ -49,18 +49,12 @@ case ${TERM} in
;;
esac
-use_color=false
-#BSD#@# BSD doesn't typically come with dircolors so we need
-#BSD#@# to hardcode some terminals in here.
-#BSD#@case ${TERM} in
-#BSD#@ [aEkx]term*|rxvt*|gnome*|konsole*|screen|cons25) use_color=true;;
-#BSD#@esac
-
# Set colorful PS1 only on colorful terminals.
# dircolors --print-database uses its own built-in database
# instead of using /etc/DIR_COLORS. Try to use the external file
# first to take advantage of user additions. Use internal bash
# globbing instead of external grep binary.
+use_color=false
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
@@ -79,7 +73,15 @@ if ${use_color} ; then
eval $(dircolors -b /etc/DIR_COLORS)
fi
fi
+else
+ # Some systems (e.g. BSD & embedded) don't typically come with
+ # dircolors so we need to hardcode some terminals in here.
+ case ${TERM} in
+ [aEkx]term*|rxvt*|gnome*|konsole*|screen|cons25) use_color=true;;
+ esac
+fi
+if ${use_color} ; then
if [[ ${EUID} == 0 ]] ; then
PS1+='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
else