mirror of
https://github.com/NaomiAmethyst/dots.git
synced 2025-08-19 12:53:52 +00:00
99 lines
1.9 KiB
Bash
Executable file
99 lines
1.9 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}"
|
|
;;
|
|
*.tar.gz|*.tgz)
|
|
gunzip -c "${1}" | tar xf -
|
|
;;
|
|
*.tar.z)
|
|
uncompress -c "${1}" | tar xf -
|
|
;;
|
|
*.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%.*}"`
|
|
;;
|
|
*.7z)
|
|
7zr x "${1}"
|
|
;;
|
|
*)
|
|
echo "Unable to extract '"$1"'"
|
|
return 1
|
|
;;
|
|
esac
|
|
|
|
return $?
|
|
}
|
|
|
|
# vim: set ft=sh ts=3 sw=3 et:
|