added bashrc and bash_logout support system-wide

Change-Id: I6e4f7ee4fbc2110f0b2e756b214f29a3e7a4758b
This commit is contained in:
cvpcs
2010-06-03 14:18:57 -05:00
committed by LuK1337
parent 3fb7c2a127
commit f79b23a255
3 changed files with 96 additions and 2 deletions

View File

@@ -91,10 +91,10 @@
#define DEFAULT_BASHRC "~/.bashrc"
/* System-wide .bashrc file for interactive shells. */
#define SYS_BASHRC "/system/etc/.bashrc"
#define SYS_BASHRC "/system/etc/bash/bashrc"
/* System-wide .bash_logout for login shells. */
/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
#define SYS_BASH_LOGOUT "/system/etc/bash/bash_logout"
/* Define this to make non-interactive shells begun with argv[0][0] == '-'
run the startup files when not in posix mode. */

1
etc/bash_logout Normal file
View File

@@ -0,0 +1 @@
clear

93
etc/bashrc Normal file
View File

@@ -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