This commit is contained in:
Eriks K 2022-08-10 12:52:19 +03:00
parent 9e3c33bad5
commit 73896f3ac9

156
.bashrc
View File

@ -8,12 +8,12 @@
# Change the window title of X terminals # Change the window title of X terminals
case ${TERM} in case ${TERM} in
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
;; ;;
screen*) screen*)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
;; ;;
esac esac
use_color=true use_color=true
@ -28,84 +28,84 @@ match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)" [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
[[ -z ${match_lhs} ]] \ [[ -z ${match_lhs} ]] \
&& type -P dircolors >/dev/null \ && type -P dircolors >/dev/null \
&& match_lhs=$(dircolors --print-database) && match_lhs=$(dircolors --print-database)
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
if ${use_color} ; then if ${use_color} ; then
get_hostname_colour() { get_hostname_colour() {
ord() { ord() {
LC_CTYPE=C printf '%d' "'$1" LC_CTYPE=C printf '%d' "'$1"
} }
hostname=$(hostnamectl --static) hostname=$(hostnamectl --static)
sum=0 sum=0
for l in $(fold -w1 <<< ${hostname[@]}); do sum=`expr $sum + $(ord $l)`; done for l in $(fold -w1 <<< ${hostname[@]}); do sum=`expr $sum + $(ord $l)`; done
colour=`expr $sum % 16` colour=`expr $sum % 16`
echo -n "\033[38;5;$(expr $sum % 16)m" echo -n "\033[38;5;$(expr $sum % 16)m"
} }
# Normal Colors # Normal Colors
DarkBlc='\[\033[38;5;0m\]' DarkBlc='\[\033[38;5;0m\]'
DarkRed='\[\033[38;5;1m\]' DarkRed='\[\033[38;5;1m\]'
DarkGrn='\[\033[38;5;2m\]' DarkGrn='\[\033[38;5;2m\]'
DarkYlw='\[\033[38;5;3m\]' DarkYlw='\[\033[38;5;3m\]'
DarkBlu='\[\033[38;5;4m\]' DarkBlu='\[\033[38;5;4m\]'
DarkMag='\[\033[38;5;5m\]' DarkMag='\[\033[38;5;5m\]'
DarkCyn='\[\033[38;5;6m\]' DarkCyn='\[\033[38;5;6m\]'
DarkWht='\[\033[38;5;7m\]' DarkWht='\[\033[38;5;7m\]'
LghtBlc='\[\033[38;5;8m\]' LghtBlc='\[\033[38;5;8m\]'
LghtRed='\[\033[38;5;9m\]' LghtRed='\[\033[38;5;9m\]'
LghtGrn='\[\033[38;5;10m\]' LghtGrn='\[\033[38;5;10m\]'
LghtYlw='\[\033[38;5;11m\]' LghtYlw='\[\033[38;5;11m\]'
LghtBlu='\[\033[38;5;12m\]' LghtBlu='\[\033[38;5;12m\]'
LghtMag='\[\033[38;5;13m\]' LghtMag='\[\033[38;5;13m\]'
LghtCyn='\[\033[38;5;14m\]' LghtCyn='\[\033[38;5;14m\]'
LghtWht='\[\033[38;5;15m\]' LghtWht='\[\033[38;5;15m\]'
# Background # Background
BgDarkBlc='\[\033[48;5;0m\]' BgDarkBlc='\[\033[48;5;0m\]'
BgDarkRed='\[\033[48;5;1m\]' BgDarkRed='\[\033[48;5;1m\]'
BgDarkGrn='\[\033[48;5;2m\]' BgDarkGrn='\[\033[48;5;2m\]'
BgDarkYlw='\[\033[48;5;3m\]' BgDarkYlw='\[\033[48;5;3m\]'
BgDarkBlu='\[\033[48;5;4m\]' BgDarkBlu='\[\033[48;5;4m\]'
BgDarkMag='\[\033[48;5;5m\]' BgDarkMag='\[\033[48;5;5m\]'
BgDarkCyn='\[\033[48;5;6m\]' BgDarkCyn='\[\033[48;5;6m\]'
BgDarkWht='\[\033[48;5;7m\]' BgDarkWht='\[\033[48;5;7m\]'
BgLghtBlc='\[\033[48;5;8m\]' BgLghtBlc='\[\033[48;5;8m\]'
BgLghtRed='\[\033[48;5;9m\]' BgLghtRed='\[\033[48;5;9m\]'
BgLghtGrn='\[\033[48;5;10m\]' BgLghtGrn='\[\033[48;5;10m\]'
BgLghtYlw='\[\033[48;5;11m\]' BgLghtYlw='\[\033[48;5;11m\]'
BgLghtBlu='\[\033[48;5;12m\]' BgLghtBlu='\[\033[48;5;12m\]'
BgLghtMag='\[\033[48;5;13m\]' BgLghtMag='\[\033[48;5;13m\]'
BgLghtCyn='\[\033[48;5;14m\]' BgLghtCyn='\[\033[48;5;14m\]'
BgLghtWht='\[\033[48;5;15m\]' BgLghtWht='\[\033[48;5;15m\]'
Reset='\[\033[0m\]' Reset='\[\033[0m\]'
Bold='\[\033[1m\]' Bold='\[\033[1m\]'
Invert='\[\033[7m\]' Invert='\[\033[7m\]'
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489 # Enable colors for ls, etc. Prefer ~/.dir_colors #64489
if type -P dircolors >/dev/null ; then if type -P dircolors >/dev/null ; then
if [[ -f ~/.dir_colors ]] ; then if [[ -f ~/.dir_colors ]] ; then
eval $(dircolors -b ~/.dir_colors) eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then elif [[ -f /etc/DIR_COLORS ]] ; then
eval $(dircolors -b /etc/DIR_COLORS) eval $(dircolors -b /etc/DIR_COLORS)
fi fi
fi fi
TimeColour=$LghtYlw TimeColour=$LghtYlw
HostColour="\[$(get_hostname_colour)\]" HostColour="\[$(get_hostname_colour)\]"
if [[ ${EUID} == 0 ]]; then if [[ ${EUID} == 0 ]]; then
UserColour=$DarkRed UserColour=$DarkRed
else else
UserColour=$LghtGrn UserColour=$LghtGrn
fi fi
CDirColour=$DarkGrn CDirColour=$DarkGrn
PS1="$TimeColour[\t] $Bold$UserColour\u${HostColour}@\h $Reset$CDirColour\$PWD$Reset $Bold\n$UserColour\\$ ${Reset}" PS1="$TimeColour[\t] $Bold$UserColour\u${HostColour}@\h $Reset$CDirColour\$PWD$Reset $Bold\n$UserColour\\$ ${Reset}"
else else
if [[ ${EUID} == 0 ]] ; then if [[ ${EUID} == 0 ]] ; then
# show root@ when we don't have colors # show root@ when we don't have colors
PS1='\u@\h \W \$ ' PS1='\u@\h \W \$ '
else else
PS1='\u@\h \w \$ ' PS1='\u@\h \w \$ '
fi fi
fi fi
unset use_color safe_term match_lhs sh unset use_color safe_term match_lhs sh