diff --git a/app-shells/bash/files/bashrc b/app-shells/bash/files/bashrc index c5b449bf837a2..414f8482569c4 100644 --- a/app-shells/bash/files/bashrc +++ b/app-shells/bash/files/bashrc @@ -52,27 +52,19 @@ 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. +# first to take advantage of user additions. use_color=false -safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM -match_lhs="" -[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" -[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ - && match_lhs=$(dircolors --print-database) -[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true - -if ${use_color} ; then +if type -P dircolors >/dev/null ; then # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 - if type -P dircolors >/dev/null ; then - if [[ -f ~/.dir_colors ]] ; then - eval "$(dircolors -b ~/.dir_colors)" - elif [[ -f /etc/DIR_COLORS ]] ; then - eval "$(dircolors -b /etc/DIR_COLORS)" - fi + LS_COLORS= + if [[ -f ~/.dir_colors ]] ; then + eval "$(dircolors -b ~/.dir_colors)" + elif [[ -f /etc/DIR_COLORS ]] ; then + eval "$(dircolors -b /etc/DIR_COLORS)" + else + eval "$(dircolors -b)" fi + [[ -n ${LS_COLORS:+set} ]] && use_color=true else # Some systems (e.g. BSD & embedded) don't typically come with # dircolors so we need to hardcode some terminals in here. @@ -107,4 +99,4 @@ for sh in /etc/bash/bashrc.d/* ; do done # Try to keep environment pollution down, EPA loves us. -unset use_color safe_term match_lhs sh +unset use_color sh