mirror of
https://github.com/NaomiAmethyst/dots.git
synced 2025-04-13 09:30:06 +00:00
129 lines
2.5 KiB
Bash
Executable file
129 lines
2.5 KiB
Bash
Executable file
#! /bin/sh
|
|
# utility.sh
|
|
# Miscellaneous Utility Functions
|
|
|
|
unkey_host ()
|
|
{
|
|
[ ${#} -ne 1 ] && return 1
|
|
sed -i -e "/$1/d" $HOME/.ssh/known_hosts
|
|
}
|
|
|
|
err ()
|
|
{
|
|
if ( command -v ruby > /dev/null 2>&1 ); then
|
|
ruby -e "puts Errno.constants.find_all{|err| eval('Errno::' + err + '::Errno') == $@ }"
|
|
elif [ -e /usr/include/errno.h ] ; then
|
|
cpp -dM /usr/include/errno.h | grep -w "E.* $@"
|
|
fi
|
|
|
|
if ( command -v perl > /dev/null 2>&1 ) ; then
|
|
perl -MPOSIX -e 'print strerror($ARGV[0])."\n";' $@
|
|
elif ( command -v python > /dev/null 2>&1 ) ; then
|
|
python -c "import os;print(os.strerror($@))"
|
|
fi
|
|
}
|
|
|
|
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}"
|
|
;;
|
|
*.gz|*.z)
|
|
gzip -dc "${1}" > `basename "${1%.*}"`
|
|
;;
|
|
*.tar.gz|*.tgz|*.tz)
|
|
gzip -dc "${1}" | tar xf -
|
|
;;
|
|
*.Z)
|
|
uncompress -c "${1}" > `basename "${1%.*}"`
|
|
;;
|
|
*.tar.z|*.tar.Z|*.taz)
|
|
uncompress -c "${1}" | tar xf -
|
|
;;
|
|
*.bz2|*.bz)
|
|
bzip2 -dc "${1}" > `basename "${1%.*}"`
|
|
;;
|
|
*.tar.bz2|*.tbz2|*.tbz)
|
|
bzip2 -dc "${1}" | tar xf -
|
|
;;
|
|
*.7z)
|
|
7zr x "${1}"
|
|
;;
|
|
*.tar.7z|*.t7z)
|
|
7zr x -so "${1}" | tar xf -
|
|
;;
|
|
*.lzma)
|
|
lzma -dc "${1}" > `basename "${1%.*}"`
|
|
;;
|
|
*.tar.lzma|*.tlz)
|
|
lzma -dc "${1}" | tar xf -
|
|
;;
|
|
*.xz)
|
|
xz -dc "${1}" > `basename "${1%.*}"`
|
|
;;
|
|
*.tar.xz|*.txz)
|
|
xz -dc "${1}" | tar xf -
|
|
;;
|
|
*.a|*.deb)
|
|
ar x "${1}"
|
|
;;
|
|
*.ace)
|
|
unace x "${1}"
|
|
;;
|
|
*.arj)
|
|
arj x "${1}"
|
|
;;
|
|
*.cpio)
|
|
cpio -id < "${1}"
|
|
;;
|
|
*.rpm)
|
|
rpm2cpio "${1}" | cpio -id
|
|
;;
|
|
*.lha|*.lzh)
|
|
lha xqf "${1}"
|
|
;;
|
|
*.rar)
|
|
unrar x -idq "${1}"
|
|
;;
|
|
*.rz)
|
|
rzip -d -f -k "${1}"
|
|
;;
|
|
*.zip|*.jar)
|
|
unzip -qo "${1}"
|
|
;;
|
|
*.zoo)
|
|
zoo x "${1}"
|
|
;;
|
|
*)
|
|
echo "Unable to extract '"$1"'"
|
|
return 1
|
|
;;
|
|
esac
|
|
|
|
return $?
|
|
}
|
|
|
|
# vim: set ft=sh ts=3 sw=3 et:
|