aboutsummaryrefslogtreecommitdiffstats
path: root/etc/bashrc
diff options
context:
space:
mode:
Diffstat (limited to 'etc/bashrc')
-rw-r--r--etc/bashrc93
1 files changed, 93 insertions, 0 deletions
diff --git a/etc/bashrc b/etc/bashrc
new file mode 100644
index 0000000..a755c81
--- /dev/null
+++ b/etc/bashrc
@@ -0,0 +1,93 @@
+# /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
+ screen)
+ PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
+ ;;
+esac
+
+# Set up a ton of aliases to cover toolbox with the nice busybox
+# equivalents of its commands
+alias cat='busybox cat'
+alias ln='busybox ln'
+alias ls='busybox ls'
+alias mount='busybox mount'
+alias rm='busybox rm'
+alias umount='busybox umount'
+alias df='busybox df'
+alias chmod='busybox chmod'
+alias chown='busybox chown'
+alias mv='busybox mv'
+alias mkdir='busybox mkdir'
+alias rmdir='busybox rmdir'
+alias insmod='busybox insmod'
+alias rmmod='busybox rmmod'
+alias lsmod='busybox lsmod'
+
+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 /system/etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</system/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='busybox ls --color=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