# set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi if [ "$color_prompt" = yes ]; then if [ "$EUID" -ne 0 ]; then PS1='${debian_chroot:+($debian_chroot)}($SHLVL) \u@\h {\A} \e[32m[\w]\e[0m\n$ ' else PS1='${debian_chroot:+($debian_chroot)}($SHLVL) \u@\h {\A} \e[31m[\w]\e[0m\n# ' fi else if [ "$EUID" -ne 0 ]; then PS1='${debian_chroot:+($debian_chroot)}($SHLVL) u@h {A} [w]\n$ ' else PS1='${debian_chroot:+($debian_chroot)}($SHLVL) u@h {A} [w]\n# ' fi fi unset color_prompt force_color_prompt case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1";; *) ;; esac # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias dir='dir --color=auto' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi alias nano='nano --nowrap --smooth -T 4' alias plz='sudo' alias dammit='sudo !!' # stop yourself from breaking the server by accident alias mv='mv -i' alias cp='cp -i' alias ln='ln -i' alias rm='rm -I --preserve-root' alias chown='chown --preserve-root' alias chmod='chmod --preserve-root' alias chgrp='chgrp --preserve-root' function findinfiles() { find ./ -type f -print0 | xargs -0 grep -i "$1"; } function findinphpfiles() { find ./ -type f -name "*.php" -print0 | xargs -0 grep -i "$1"; } complete -W "$(echo $(grep '^ssh ' ~/.bash_history | sort -u | sed 's/^ssh //'))" ssh if [ "$(uname)" == "Darwin" ]; then # got pbcopy : elif grep -q Microsoft /proc/version; then # route error to /dev/null because thanks microsoft alias pbcopy='clip.exe > /dev/null 2>&1' else # install xclip through apt first alias pbcopy='xclip -selection clipboard' fi # thanks @jamesdoc alias e-thumbsup="printf \"👍\" | pbcopy && echo \"👍 copied to the clipboard\"" alias e-pointup="printf \"👆\" | pbcopy && echo \"👆 copied to the clipboard\"" alias e-pointdown="printf \"👇\" | pbcopy && echo \"👇 copied to the clipboard\"" alias e-rocket="printf \"🚀\" | pbcopy && echo \"🚀 copied to the clipboard\"" alias e-tada="printf \"🎉\" | pbcopy && echo \"🎉 copied to the clipboard\"" alias e-lightning="printf \"⚡\" | pbcopy && echo \"⚡ copied to the clipboard\"" alias shruggie="printf \"¯\_(ツ)_/¯\" | pbcopy && echo \"¯\_(ツ)_/¯ copied to clipboard\"" if [ -x /usr/bin/termsaver ]; then alias tsm="termsaver matrix" fi if [ -x /usr/bin/cmatrix ]; then alias etm="cmatrix -a -b -s -C cyan" fi # on WSL this is needed to enter the passphrase when attempting to gpg-sign git commits #export GPG_TTY=$(tty) # if you're on WSL you may want to see information from MOTD such as pending updates #sudo run-parts /etc/update-motd.d/ # if you're on WSL and you want to mount network shares #sudo mount -a