dots/commonsh/10_utility

85 lines
1.4 KiB
Text
Raw Normal View History

#! /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 ()
{
2009-04-17 14:43:46 -05:00
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 -
;;
2010-05-17 18:48:04 -05:00
*.tar.bz2|*.tbz2|*.tbz)
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%.*}"`
;;
2009-02-08 22:44:37 -06:00
*.7z)
7zr x "${1}"
;;
*)
echo "Unable to extract '"$1"'"
return 1
;;
esac
return $?
}
# vim: set ft=sh ts=3 sw=3 et: