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 |