bsdnix/roles/pubnix/files/skel/dot.bash_profile

153 lines
3.0 KiB
Bash
Executable File

# -*-shell-script-*-
#
# default bash config
# do not use the config if not in a terminal
if test -z "$PS1"; then
return
fi
# and do not use it if in no interactive terminal
if test "$TERM" = "dumb"; then
export PS1='$ '
return
fi
inputrc="$HOME/.inputrc"
# create helper configs, if requested. that way I don't have to copy
# around multiple files if I enter a new system
createcfgs() {
if ! test -f $inputrc; then
if ! test -w $HOME; then
inputrc="/tmp/.inputrc_tom"
fi
cat << EOF > $inputrc
# toms readline config
set show-all-if-ambiguous on
set meta-flag on
set input-meta on
set convert-meta on
set output-meta on
# C-a blocked by screen, so use these also
Meta-a: beginning-of-line
# alt-left
"\e[1;3C": forward-word
# ctrl-right
"\e[1;5C": forward-word
# alt-left, vnc
"\e\e[C": forward-word
# alt-right
"\e[1;3D": backward-word
# ctrl-left
"\e[1;5D": backward-word
# alt-left, vnc
"\e\e[D": backward-word
# alt-down
"\e[1;3B": beginning-of-line
# alt-down, vnc
"\e\e[A": beginning-of-line
# alt-up
"\e[1;3A": end-of-line
# alt-up, vnc
"\e\e[B": end-of-line
EOF
fi
}
# stay with en, but support umlauts and the other bastards
export LC_COLLATE="en_US.UTF-8"
export LC_CTYPE="de_DE.UTF-8"
export LC_MONETARY="de_DE.UTF-8"
export LC_NUMERIC="de_DE.UTF-8"
export LC_TIME="de_DE.UTF-8"
export LC_PAPER="de_DE.UTF-8"
export LANG="en_US.UTF-8"
export LC_LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export GDM_LANG="en_US.UTF-8"
# generate customized support configs
createcfgs
INPUTRC="$inputrc"
# global aliases
alias dir='ls -l'
alias ll='ls -l'
alias la='ls -la'
alias l='ls -alF'
alias ls-l='ls -l'
alias lt='ls -ltr'
alias o='less'
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias rd=rmdir
alias md='mkdir -p'
alias which='type -p'
alias less='less -i -P "?f%f:Standard input. %lb / %L ?e(END):>"'
alias les='less'
alias grip='egrep -i'
alias lc="tr '[A-Z]' '[a-z]'"
alias uc="tr '[a-z]' '[A-Z]'"
alias table="column -t"
alias gethttp="fetch -n --no-verify-peer --no-verify-hostname"
# use vim
alias vi=vim
EDITOR=vim
# simple command prompt
PS1='
--- [\w] ---
\u@\h % '
# customize path
for dir in $HOME/bin /usr/local/bin /usr/local/sbin /usr/sbin; do
if test -d $dir; then
PATH=$PATH:$dir
fi
done
export PATH
# history options
HISTFILESIZE=1000000
HISTSIZE=1000000
HISTCONTROL=ignoreboth
HISTIGNORE='ls:bg:fg:history'
HISTTIMEFORMAT='%F %T '
export EDITOR PS1 PATH LESSCHARSET GREP_OPTIONS HISTFILE HISTFILESIZE HISTSIZE HISTCONTROL HISTIGNORE HISTTIMEFORMAT INPUTRC
# better override
umask 0027
# completion?
bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor '>' 04 ] \
&& [ -f ~/.completion ]; then # interactive shell
# Source completion code
source ~/.completion
fi
# bash options
shopt -s cdable_vars checkhash checkwinsize histappend cmdhist
# any local specific config?
if test -e ~/.bashrc-local; then
source ~/.bashrc-local
fi