Advertisement
yuriw

bashrc

Jan 22nd, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.35 KB | None | 0 0
  1. # ~/.bashrc: executed by bash(1) for non-login shells.
  2. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
  3. # for examples
  4.  
  5. # If not running interactively, don't do anything
  6. case $- in
  7. *i*) ;;
  8. *) return;;
  9. esac
  10.  
  11. export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/games:/usr/local/sbin:/usr/sbin:/sbin
  12.  
  13. # don't put duplicate lines or lines starting with space in the history.
  14. # See bash(1) for more options
  15. HISTCONTROL=ignoreboth
  16.  
  17. # append to the history file, don't overwrite it
  18. shopt -s histappend
  19.  
  20. # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
  21. HISTSIZE=1000
  22. HISTFILESIZE=2000
  23.  
  24. # check the window size after each command and, if necessary,
  25. # update the values of LINES and COLUMNS.
  26. shopt -s checkwinsize
  27.  
  28. # If set, the pattern "**" used in a pathname expansion context will
  29. # match all files and zero or more directories and subdirectories.
  30. #shopt -s globstar
  31.  
  32. # make less more friendly for non-text input files, see lesspipe(1)
  33. #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
  34.  
  35. # set variable identifying the chroot you work in (used in the prompt below)
  36. if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
  37. debian_chroot=$(cat /etc/debian_chroot)
  38. fi
  39.  
  40. # set a fancy prompt (non-color, unless we know we "want" color)
  41. case "$TERM" in
  42. xterm-color) color_prompt=yes;;
  43. esac
  44.  
  45. # uncomment for a colored prompt, if the terminal has the capability; turned
  46. # off by default to not distract the user: the focus in a terminal window
  47. # should be on the output of commands, not on the prompt
  48. force_color_prompt=yes
  49.  
  50. if [ -n "$force_color_prompt" ]; then
  51. if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
  52. # We have color support; assume it's compliant with Ecma-48
  53. # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
  54. # a case would tend to support setf rather than setaf.)
  55. color_prompt=yes
  56. else
  57. color_prompt=
  58. fi
  59. fi
  60.  
  61. if [ "$color_prompt" = yes ]; then
  62. PS1="\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h'; else echo '\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h'; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\$\[\e[0m\]"
  63. else
  64. PS1='┌──[\u@\h]─[\w]\n└──╼ \$ '
  65. fi
  66.  
  67. # Set 'man' colors
  68. if [ "$color_prompt" = yes ]; then
  69. man() {
  70. env \
  71. LESS_TERMCAP_mb=$'\e[01;31m' \
  72. LESS_TERMCAP_md=$'\e[01;31m' \
  73. LESS_TERMCAP_me=$'\e[0m' \
  74. LESS_TERMCAP_se=$'\e[0m' \
  75. LESS_TERMCAP_so=$'\e[01;44;33m' \
  76. LESS_TERMCAP_ue=$'\e[0m' \
  77. LESS_TERMCAP_us=$'\e[01;32m' \
  78. man "$@"
  79. }
  80. fi
  81.  
  82. unset color_prompt force_color_prompt
  83.  
  84. ##moved form the end so can be used in PS1
  85. function parse_git_branch {
  86. git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ [\1]/'
  87. }
  88.  
  89.  
  90.  
  91. # If this is an xterm set the title to user@host:dir
  92. case "$TERM" in
  93. xterm*|rxvt*)
  94. PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h'; else echo '\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h'; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\[$txtcyn\]\$parse_git_branch\[$txtred\]\$git_dirty\[$txtrst\] \$\[\e[0m\] "
  95. ;;
  96. *)
  97. ;;
  98. esac
  99.  
  100. # enable color support of ls and also add handy aliases
  101. if [ -x /usr/bin/dircolors ]; then
  102. test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
  103. alias ls='ls --color=auto'
  104. alias dir='dir --color=auto'
  105. alias vdir='vdir --color=auto'
  106.  
  107. alias grep='grep --color=auto'
  108. alias fgrep='fgrep --color=auto'
  109. alias egrep='egrep --color=auto'
  110. fi
  111.  
  112. # some more ls aliases
  113. alias ll='ls -alF'
  114. alias la='ls -A'
  115. alias l='ls -CF'
  116. alias em='emacs -nw'
  117. alias dd='dd status=progress'
  118. alias _='sudo'
  119.  
  120. alias his='history | grep $1'
  121. alias crontab='crontab -i'
  122. alias my_ip='curl ipinfo.io/ip'
  123. #alias yw_git_update='echo "git fetch upstream && git reset --hard upstream/<branch>; git push origin <branch>"'
  124. alias yw_git_update=funGitUpdate
  125.  
  126. alias folder_size='ncdu'
  127. alias keepass='rsync -avzh /run/user/1000/gvfs/smb-share:server=seagatecentral2,share=yuriw/keepass /home/yuriw/Dropbox/'
  128.  
  129.  
  130. funGitUpdate () {
  131. git fetch upstream && git reset --hard upstream/${1}
  132. git push origin ${1}
  133. }
  134.  
  135.  
  136. alias version='lsb_release -a'
  137.  
  138. alias ocrmypdf='sudo docker run --rm -v "$(pwd):/home/docker" ocrmypdf'
  139.  
  140. alias treesize='~/treesize'
  141.  
  142. alias wifi_command='nmtui'
  143.  
  144. # Add an "alert" alias for long running commands. Use like so:
  145. # sleep 10; alert
  146. alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
  147.  
  148. # Alias definitions.
  149. # You may want to put all your additions into a separate file like
  150. # ~/.bash_aliases, instead of adding them here directly.
  151. # See /usr/share/doc/bash-doc/examples in the bash-doc package.
  152.  
  153. if [ -f ~/.bash_aliases ]; then
  154. . ~/.bash_aliases
  155. fi
  156.  
  157. # enable programmable completion features (you don't need to enable
  158. # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
  159. # sources /etc/bash.bashrc).
  160. if ! shopt -oq posix; then
  161. if [ -f /usr/share/bash-completion/bash_completion ]; then
  162. . /usr/share/bash-completion/bash_completion
  163. elif [ -f /etc/bash_completion ]; then
  164. . /etc/bash_completion
  165. fi
  166. fi
  167.  
  168.  
  169. # added by yuriw
  170.  
  171. function prompt {
  172. local BLUE="\[\033[0;34m\]"
  173. local DARK_BLUE="\[\033[1;34m\]"
  174. local RED="\[\033[0;31m\]"
  175. local DARK_RED="\[\033[1;31m\]"
  176. local NO_COLOR="\[\033[0m\]"
  177.  
  178. case $TERM in
  179. xterm*|rxvt*)
  180. TITLEBAR='\[\033]0;\u@\h:\w\007\]'
  181. ;;
  182. *)
  183. TITLEBAR=""
  184. ;;
  185. esac
  186. PS1="\u@\h \w [\t]> "
  187. PS1="${TITLEBAR}\
  188. $BLUE\u@\h $DARK_RED\w$RED [\t]>$NO_COLOR "
  189. PS2='continue-> '
  190. PS4='$0.$LINENO+ '
  191. }
  192.  
  193.  
  194. #prompt
  195.  
  196. #PS1='[\h]$ '
  197. #function parse_git_branch {
  198. # git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ [\1]/'
  199. #}
  200.  
  201. function proml {
  202. case $TERM in
  203. xterm*)
  204. TITLEBAR='\[\033]0;\u@\h:\w\007\]'
  205. ;;
  206. *)
  207. TITLEBAR=""
  208. ;;
  209. esac
  210.  
  211. PS1="\u@\h:\w\$(parse_git_branch)$ "
  212. PS2='> '
  213. PS4='+ '
  214. }
  215. #proml
  216.  
  217.  
  218. ###START ssh-agents yuriw josh
  219. SSH_ENV="$HOME/.ssh/environment"
  220.  
  221. function start_agent {
  222. echo "Initialising new SSH agent..."
  223. /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
  224. echo succeeded
  225. chmod 600 "${SSH_ENV}"
  226. . "${SSH_ENV}" > /dev/null
  227. /usr/bin/ssh-add;
  228. }
  229.  
  230. # Source SSH settings, if applicable
  231.  
  232. if [ -f "${SSH_ENV}" ]; then
  233. . "${SSH_ENV}" > /dev/null
  234. #ps ${SSH_AGENT_PID} doesn't work under cywgin
  235. ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
  236. start_agent;
  237. }
  238. else
  239. start_agent;
  240. fi
  241.  
  242. # set git
  243. git config --global user.email "yweinste@redhat.com"
  244. git config --global user.name "Yuri Weinstein"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement