83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# /etc/bash/bashrc
 | 
						|
#
 | 
						|
# This file is sourced by all *interactive* bash shells on startup,
 | 
						|
# including some apparently interactive shells such as scp and rcp
 | 
						|
# that can't tolerate any output.  So make sure this doesn't display
 | 
						|
# anything or bad things will happen !
 | 
						|
 | 
						|
 | 
						|
# Test for an interactive shell.  There is no need to set anything
 | 
						|
# past this point for scp and rcp, and it's important to refrain from
 | 
						|
# outputting anything in those cases.
 | 
						|
if [[ $- != *i* ]] ; then
 | 
						|
	# Shell is non-interactive.  Be done now!
 | 
						|
	return
 | 
						|
fi
 | 
						|
 | 
						|
# Bash won't get SIGWINCH if another process is in the foreground.
 | 
						|
# Enable checkwinsize so that bash will check the terminal size when
 | 
						|
# it regains control.  #65623
 | 
						|
# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
 | 
						|
shopt -s checkwinsize
 | 
						|
 | 
						|
# Enable history appending instead of overwriting.  #139609
 | 
						|
shopt -s histappend
 | 
						|
 | 
						|
# Change the window title of X terminals 
 | 
						|
case ${TERM} in
 | 
						|
	xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix)
 | 
						|
		PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
 | 
						|
		;;
 | 
						|
	screen*)
 | 
						|
		PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"'
 | 
						|
		;;
 | 
						|
esac
 | 
						|
 | 
						|
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)
 | 
						|
		fi
 | 
						|
	fi
 | 
						|
 | 
						|
	if [[ ${EUID} == 0 ]] ; then
 | 
						|
		PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
 | 
						|
	else
 | 
						|
		PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
 | 
						|
	fi
 | 
						|
 | 
						|
	alias ls='ls --color=auto'
 | 
						|
	alias grep='grep --colour=auto'
 | 
						|
	alias egrep='egrep --colour=auto'
 | 
						|
	alias fgrep='fgrep --colour=auto'
 | 
						|
else
 | 
						|
	if [[ ${EUID} == 0 ]] ; then
 | 
						|
		# show root@ when we don't have colors
 | 
						|
		PS1='\u@\h \W \$ '
 | 
						|
	else
 | 
						|
		PS1='\u@\h \w \$ '
 | 
						|
	fi
 | 
						|
fi
 | 
						|
 | 
						|
# Try to keep environment pollution down, EPA loves us.
 | 
						|
unset use_color safe_term match_lhs
 |