#! /bin/sh # utility.sh # Miscellaneous Utility Functions unkey_host () { [ ${#} -ne 1 ] && return 1 sed -i -e "/$1/d" $HOME/.ssh/known_hosts } mkcd () { if [ -d "$1" ] ; then cd "$1" return fi mkdir -p "$1" && cd "$1" } extract () { if ( command -v aunpack > /dev/null 2>&1 ) ; then aunpack "${1}" return fi if [ ! -f "$1" ] ; then echo "The file ("$1") does not exist!" return fi filename=`echo "$1" | tr '[:upper:]' '[:lower:]'` case "$filename" in *.tar) tar xf "${1}" ;; *.tar.gz|*.tgz) gunzip -c "${1}" | tar xf - ;; *.tar.z) uncompress -c "${1}" | tar xf - ;; *.tar.bz2|*.tbz2) bzcat "${1}" | tar xf - ;; *.zip|*.jar) unzip -qo "${1}" ;; *.gz|*.z) gzip -dc "${1}" > `basename "${1%.*}"` ;; *.bz2) bzip2 -dc "${1}" > `basename "${1%.*}"` ;; *.rar) unrar x -idq "${1}" ;; *.lha|*.lzh) lha xqf "${1}" ;; *.a|*.deb) ar x "${1}" ;; *.tar.lzma) lzma -dc "${1}" | tar xf ;; *.lzma) lzma -dc "${1}" > `basename "${1%.*}"` ;; *.7z) 7zr x "${1}" ;; *) echo "Unable to extract '"$1"'" return 1 ;; esac return $? } # vim: set ft=sh ts=3 sw=3 et: