123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #
- # ~/.bashrc
- #
- [[ $- != *i* ]] && return
- # mkdircd - create directory and change current directory to created one
- # usage mkdircd <new_directory>
- mkdircd () {
- mkdir -p $1
- cd $1
- }
- # ex - archive extractor
- # usage: ex <file>
- ex ()
- {
- if [ -f $1 ] ; then
- case $1 in
- *.tar.bz2) tar xjf $1 ;;
- *.tar.gz) tar xzf $1 ;;
- *.bz2) bunzip2 $1 ;;
- *.rar) unrar x $1 ;;
- *.gz) gunzip $1 ;;
- *.tar) tar xf $1 ;;
- *.tbz2) tar xjf $1 ;;
- *.tgz) tar xzf $1 ;;
- *.zip) unzip $1 ;;
- *.Z) uncompress $1;;
- *.7z) 7z x $1 ;;
- *) echo "'$1' cannot be extracted via ex()" ;;
- esac
- else
- echo "'$1' is not a valid file"
- fi
- }
- use_color=true
- # highlight results of common Unix commands
- 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
- alias ls='ls --color=auto'
- alias ll='ls -lhA --color=auto'
- alias grep='grep --colour=auto'
- alias egrep='egrep --colour=auto'
- alias fgrep='fgrep --colour=auto'
- else
- alias ll='ls -lhA'
- fi
- [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
- unset use_color safe_term match_lhs sh
- # aliases for common Unix commands
- alias cp="cp -i" # confirm before overwriting something
- alias df='df -h' # human-readable sizes
- alias free='free -m' # show sizes in MB
- # 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
- shopt -s expand_aliases
- # Enable history appending instead of overwriting. #139609
- shopt -s histappend
- # A two-line colored Bash prompt (PS1) with Git branch and a line decoration
- # which adjusts automatically to the width of the terminal.
- # Recognizes and shows Git, SVN and Fossil branch/revision.
- # Screenshot: http://img194.imageshack.us/img194/2154/twolineprompt.png
- # Michal Kottman, 2012
-
- RESET="\[\033[0m\]"
- RED="\[\033[0;31m\]"
- GREEN="\[\033[01;32m\]"
- BLUE="\[\033[01;34m\]"
- YELLOW="\[\033[0;33m\]"
- function parse_git_branch {
- PS_BRANCH=''
- if [ -d .svn ]; then
- PS_BRANCH="(svn r$(svn info|awk '/Revision/{print $2}'))"
- return
- elif [ -f _FOSSIL_ -o -f .fslckout ]; then
- PS_BRANCH="(fossil $(fossil status|awk '/tags/{print $2}')) "
- return
- fi
- ref=$(git symbolic-ref HEAD 2> /dev/null) || return
- PS_BRANCH="(git ${ref#refs/heads/}) "
- }
- PROMPT_COMMAND=parse_git_branch
- PS_INFO="$GREEN\u@\h$RESET:$BLUE\w"
- PS_GIT="$YELLOW\$PS_BRANCH"
- PS_TIME="\[\033[\$((COLUMNS-10))G\] $RED[\t]"
- # \u2554, \u255A -> box-shaping characters
- export PS1="╔═ ${PS_INFO} ${PS_GIT}${PS_TIME}\n${RESET}╚═ \$ "
- # alias code = codium for case if codium is installed
- if ! command -v "code" &> /dev/null ; then
- if command -v "codium" &> /dev/null ; then
- alias code='codium'
- fi
- fi
|