|
|
|
##
|
|
|
|
## @l_prefix@/etc/bash/profile -- Global Bash Profile
|
|
|
|
##
|
|
|
|
|
|
|
|
# welcome and goodbye message ;)
|
|
|
|
echo "$HOSTNAME: user $USER, login at `date`"
|
|
|
|
trap 'echo "$HOSTNAME: user $USER, logout at `date`"' 0
|
|
|
|
|
|
|
|
# initially adjust $PWD to symbolic path
|
|
|
|
cd $HOME
|
|
|
|
|
|
|
|
# provide user and host information in default prompt
|
|
|
|
PS1="\u@\h\$ "
|
|
|
|
|
|
|
|
# session timeout
|
|
|
|
export TMOUT=3600
|
|
|
|
|
|
|
|
# environment permissions
|
|
|
|
umask 022
|
|
|
|
ulimit -c 16384
|
|
|
|
if [ ".$PS1" != . ]; then
|
|
|
|
mesg y 2>/dev/null
|
|
|
|
fi
|
|
|
|
|
|
|
|
# history functionality
|
|
|
|
shopt -s histappend
|
|
|
|
HISTSIZE=100
|
|
|
|
HISTFILESIZE=100
|
|
|
|
alias h='history | $PAGER'
|
|
|
|
|
|
|
|
# various additional variables
|
|
|
|
export TMPDIR=/tmp
|
|
|
|
export TEMPDIR=$TMPDIR
|
|
|
|
export BLOCKSIZE=1024
|
|
|
|
|
|
|
|
# turn on extended globbing
|
|
|
|
shopt -s extglob no_empty_cmd_completion
|
|
|
|
|
|
|
|
# make directory commands see only directories
|
|
|
|
complete -d cd mkdir rmdir pushd
|
|
|
|
|
|
|
|
# make file commands see only (their) files
|
|
|
|
complete -f cat less more ln strip
|
|
|
|
complete -f -X '*.bz2' bzip2
|
|
|
|
complete -f -X '!*.bz2' bunzip2
|
|
|
|
complete -f -X '!*.zip' unzip
|
|
|
|
complete -f -X '*.gz' gzip
|
|
|
|
complete -f -X '*.Z' compress
|
|
|
|
complete -f -X '!*.+(Z|gz|tgz|Gz)' gunzip zcat zmore
|
|
|
|
complete -f -X '!*.Z' uncompress zmore zcat
|
|
|
|
complete -f -X '!*.+(gif|jpg|jpeg|GIF|JPG|bmp)' xv display
|
|
|
|
complete -f -X '!*.+(ps|PS|ps.gz)' gv gs mgv
|
|
|
|
complete -f -X '!*.+(dvi|DVI)' dvips xdvi
|
|
|
|
complete -f -X '!*.+(pdf|PDF)' acroread xpdf
|
|
|
|
complete -f -X '!*.texi*' makeinfo texi2dvi texi2html
|
|
|
|
complete -f -X '!*.+(tex|TEX)' tex latex
|
|
|
|
complete -f -X '!*.+(c|cc|C|h|hh|H)' cc gcc
|
|
|
|
|
|
|
|
# make signal and job commands see only signals/jobs
|
|
|
|
complete -A signal kill -P '%'
|
|
|
|
complete -A stopped -P '%' bg
|
|
|
|
complete -j -P '%' fg jobs
|
|
|
|
|
|
|
|
# make user/group commands see only users/groups
|
|
|
|
complete -u passwd su finger
|
|
|
|
complete -u passwd
|
|
|
|
|
|
|
|
# make network commands see only hostnames
|
|
|
|
complete -A hostname ssh rsh telnet rlogin ftp ping host traceroute nslookup dig
|
|
|
|
|
|
|
|
# make internal commands see only their possibilities
|
|
|
|
complete -v export local readonly unset
|
|
|
|
complete -A setopt set
|
|
|
|
complete -A shopt shopt
|
|
|
|
complete -A helptopic help
|
|
|
|
complete -a unalias
|
|
|
|
complete -A binding bind
|
|
|
|
|
|
|
|
# convinient root priviledge switching
|
|
|
|
root () {
|
|
|
|
if [ $# -eq 0 -o ".$1" = ".-i" ]; then
|
|
|
|
ssh -t -x root@localhost cd $PWD \&\& exec ${SHELL-/bin/sh}
|
|
|
|
elif [ ".$1" = ".-l" ]; then
|
|
|
|
ssh -x root@localhost cd $PWD \&\& `history | tail -2 | head -1 | cut -c8-`
|
|
|
|
elif [ ".$1" = ".-t" ]; then
|
|
|
|
shift
|
|
|
|
ssh -t -x root@localhost cd $PWD \&\& "$@"
|
|
|
|
else
|
|
|
|
ssh -x root@localhost cd $PWD \&\& "$@"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# suck in the Bourne-Shell environment of all OpenPKG packages
|
|
|
|
eval `@l_prefix@/etc/rc -p all env:sh`
|
|
|
|
|
|
|
|
# path to user environment init script
|
|
|
|
if [ -f "$HOME/.bashrc" ]; then
|
|
|
|
BASH_ENV=$HOME/.bashrc
|
|
|
|
. $BASH_ENV
|
|
|
|
fi
|
|
|
|
|