# Check to see if a command exists function command_exists { command -v "$1" &> /dev/null } # Ask for admin password up front and keep sudo alive until the end of the script function keep_alive { sudo -v while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null & } # Extract a compressed file with the appropriate command function unpack { 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 ;; *) echo "'$1' cannot be extracted via extract()" ;; esac else echo "'$1' is not a valid file" fi } # Source library for f in ~/.zsh/lib/*; do source "$f"; done # vim:set ft=zsh: