Skip to content

Instantly share code, notes, and snippets.

@hastinbe
Last active August 29, 2015 14:12
Show Gist options
  • Select an option

  • Save hastinbe/ba2017eb39b0f2e6e01f to your computer and use it in GitHub Desktop.

Select an option

Save hastinbe/ba2017eb39b0f2e6e01f to your computer and use it in GitHub Desktop.
My bash prompt and simple aliases
#!/bin/bash
if [ -f /etc/bash_completion ]; then
source /etc/bash_completion
fi
__has_parent_dir () {
# Utility function so we can test for things like .git/.hg without firing up a
# separate process
test -d "$1" && return 0;
current="."
while [ ! "$current" -ef "$current/.." ]; do
if [ -d "$current/$1" ]; then
return 0;
fi
current="$current/..";
done
return 1;
}
__vcs_name() {
if [ -d .svn ]; then
echo "-[svn]";
elif __has_parent_dir ".git"; then
echo "-[$(__git_ps1 'git %s')]";
elif __has_parent_dir ".hg"; then
echo "-[hg $(hg branch)]"
fi
}
black=$(tput -Txterm setaf 0)
red=$(tput -Txterm setaf 1)
green=$(tput -Txterm setaf 2)
yellow=$(tput -Txterm setaf 3)
dk_blue=$(tput -Txterm setaf 4)
pink=$(tput -Txterm setaf 5)
lt_blue=$(tput -Txterm setaf 6)
bold=$(tput -Txterm bold)
reset=$(tput -Txterm sgr0)
# Nicely formatted terminal prompt
export PS1='\n\[$bold\]\[$black\][\[$dk_blue\]\@\[$black\]]-[\[$green\]\u\[$yellow\]@\[$green\]\h\[$black\]]-[\[$pink\]\w[$black\]]\[\033[0;33m\]$(__vcs_name) \[\033[00m\]\[$reset\]\n\[$reset\]\$ '
alias ls='ls -F --color=always'
alias dir='dir -F --color=always'
alias cp='cp -iv'
alias rm='rm -i'
alias mv='mv -iv'
alias grep='grep --color=auto -in'
function ..() {
local levels=$1
while ((levels > 0)); do
cd .. || break
let "levels--"
done
}
function mcd () { mkdir -p "$@" && eval cd "\"\$$#\""; }
alias dirs='dirs -v'
alias fuck='sudo $(history -p \!\!)'
alias composer='~/bin/composer.phar'
alias h='cd ~'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment