127 lines
4.4 KiB
Plaintext
127 lines
4.4 KiB
Plaintext
|
# System-wide .bashrc file for interactive bash(1) shells.
|
||
|
# {{ ansible_managed }}
|
||
|
|
||
|
# To enable the settings / commands in this file for login shells as well,
|
||
|
# this file has to be sourced in /etc/profile.
|
||
|
|
||
|
# Fix the preceeding space stupidity
|
||
|
export HISTCONTROL=ignorespace
|
||
|
|
||
|
# If not running interactively, don't do anything
|
||
|
[ -z "$PS1" ] && return
|
||
|
|
||
|
# check the window size after each command and, if necessary,
|
||
|
# update the values of LINES and COLUMNS.
|
||
|
shopt -s checkwinsize
|
||
|
|
||
|
# set variable identifying the chroot you work in (used in the prompt below)
|
||
|
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
||
|
debian_chroot=$(cat /etc/debian_chroot)
|
||
|
fi
|
||
|
|
||
|
#------------------------------------------------------------------------------
|
||
|
# Returncode.
|
||
|
#------------------------------------------------------------------------------
|
||
|
function returncode
|
||
|
{
|
||
|
returncode=$?
|
||
|
if [ $returncode != 0 ]; then
|
||
|
echo "[$returncode]"
|
||
|
else
|
||
|
echo ""
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
alias ll='ls -al'
|
||
|
|
||
|
use_color=false
|
||
|
|
||
|
# 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.
|
||
|
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}$(</etc/DIR_COLORS)"
|
||
|
[[ -z ${match_lhs} ]] \
|
||
|
&& type -P dircolors >/dev/null \
|
||
|
&& match_lhs=$(dircolors --print-database)
|
||
|
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
|
||
|
|
||
|
if ${use_color} ; 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)
|
||
|
else
|
||
|
eval $(dircolors)
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if [[ ${EUID} == 0 ]] ; then
|
||
|
PS1='\[\033[0;31m\]$(returncode)\[\033[0;37m\]\[\033[0;35m\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\H\[\033[01;34m\] \w \$\[\033[00m\] '
|
||
|
elif [[ ${UID} == 200 ]] ; then
|
||
|
PS1='\[\033[0;31m\]$(returncode)\[\033[0;37m\]\[\033[0;35m\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\H\[\033[01;34m\] \w \$\[\033[00m\] '
|
||
|
else
|
||
|
PS1='\[\033[0;31m\]$(returncode)\[\033[0;37m\]\[\033[0;35m\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\H\[\033[01;34m\] \w \$\[\033[00m\] '
|
||
|
fi
|
||
|
|
||
|
alias ls='ls --color=auto'
|
||
|
alias grep='grep --colour=auto'
|
||
|
alias fgrep='fgrep --colour=auto'
|
||
|
alias egrep='egrep --colour=auto'
|
||
|
alias ll='ls -lF'
|
||
|
alias la='ls -A'
|
||
|
alias l='ls -CF'
|
||
|
else
|
||
|
if [[ ${EUID} == 0 ]] ; then
|
||
|
# show root@ when we don't have colors
|
||
|
PS1='\[$(returncode)\]\u@\H \w \$ '
|
||
|
else
|
||
|
PS1='\[$(returncode)\]\u@\H \w \$ '
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# Try to keep environment pollution down, EPA loves us.
|
||
|
unset use_color safe_term match_lhs
|
||
|
|
||
|
# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
|
||
|
# If this is an xterm set the title to user@host:dir
|
||
|
#case "$TERM" in
|
||
|
#xterm*|rxvt*)
|
||
|
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
|
||
|
# ;;
|
||
|
#*)
|
||
|
# ;;
|
||
|
#esac
|
||
|
|
||
|
# enable bash completion in interactive shells
|
||
|
if ! shopt -oq posix; then
|
||
|
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||
|
. /usr/share/bash-completion/bash_completion
|
||
|
elif [ -f /etc/bash_completion ]; then
|
||
|
. /etc/bash_completion
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# if the command-not-found package is installed, use it
|
||
|
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
|
||
|
function command_not_found_handle {
|
||
|
# check because c-n-f could've been removed in the meantime
|
||
|
if [ -x /usr/lib/command-not-found ]; then
|
||
|
/usr/bin/python /usr/lib/command-not-found -- "$1"
|
||
|
return $?
|
||
|
elif [ -x /usr/share/command-not-found/command-not-found ]; then
|
||
|
/usr/bin/python /usr/share/command-not-found/command-not-found -- "$1"
|
||
|
return $?
|
||
|
else
|
||
|
printf "%s: command not found\n" "$1" >&2
|
||
|
return 127
|
||
|
fi
|
||
|
}
|
||
|
fi
|