#!/bin/bash
|
|
VERSION=0.2r2
|
|
DEST=$1
|
|
shift 1
|
|
ORIG=$@
|
|
|
|
function decompressor()
|
|
{
|
|
case $DEST in
|
|
*.tar)
|
|
tar -xvf $DEST
|
|
;;
|
|
*.tar.gz | *.tgz)
|
|
tar -xzvf $DEST
|
|
;;
|
|
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
|
tar xjf $DEST
|
|
;;
|
|
*.tar.xz | *.txz)
|
|
tar -xf $DEST
|
|
;;
|
|
*.bz2)
|
|
bzip2 -d $DEST
|
|
;;
|
|
*.gz)
|
|
gzip -d $DEST
|
|
;;
|
|
*.zip)
|
|
unzip $DEST
|
|
;;
|
|
*.7z)
|
|
7za e $DEST
|
|
;;
|
|
*)
|
|
echo "Extension not found."
|
|
echo "For more information run 'lch --help'"
|
|
echo ""
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
echo "Done"
|
|
exit 0
|
|
}
|
|
|
|
function compressor()
|
|
{
|
|
case $DEST in
|
|
*.tar)
|
|
tar -cvf $DEST $ORIG
|
|
;;
|
|
*.tar.gz | *.tgz)
|
|
tar -czvf $DEST $ORIG
|
|
;;
|
|
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
|
tar -c $ORIG | bzip2 > $DEST
|
|
;;
|
|
*.tar.xz | *.txz)
|
|
tar -cJf $DEST $ORIG
|
|
;;
|
|
*.bz2)
|
|
bzip2 -c $ORIG > $DEST
|
|
;;
|
|
*.gz)
|
|
gzip -c $ORIG > $DEST
|
|
;;
|
|
*.zip)
|
|
zip -r $DEST $ORIG
|
|
;;
|
|
*.7z)
|
|
7za a $DEST $ORIG
|
|
;;
|
|
*)
|
|
echo "Extension not found."
|
|
echo "For more information run 'lch --help'"
|
|
echo ""
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
echo "Done"
|
|
exit 0
|
|
}
|
|
|
|
function help()
|
|
{
|
|
echo "Help:"
|
|
echo "-----"
|
|
echo ""
|
|
echo "lch [-h] [-v] [-c] [-i] [FILE [FILE]]"
|
|
echo ""
|
|
echo "Examples:"
|
|
echo "$ lch -h -This help"
|
|
echo "$ lch -v -print version"
|
|
echo "$ lch -c -check compresion systems"
|
|
echo "$ lch -i -install the compressors dependences."
|
|
echo "$ lch file.zip /home/file -Compress"
|
|
echo "$ lch file.zip -Decompress"
|
|
echo ""
|
|
echo "Supported extensions:"
|
|
echo " tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z"
|
|
echo ""
|
|
echo "Run 'man lch' for more info."
|
|
echo ""
|
|
}
|
|
|
|
function check()
|
|
{
|
|
local a=false
|
|
echo "Verification of compression systems:"
|
|
echo ""
|
|
echo -e "Systems\t\t\tStatus"
|
|
echo "----------------------------------"
|
|
for i in "tar" "bzip2" "gzip" "zip" "7za"
|
|
do
|
|
if ! [ -x "$(command -v $i)" ]
|
|
then
|
|
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
|
|
$a = true
|
|
else
|
|
echo -e "$i\t\t\t\e[32mInstaled\e[0m"
|
|
fi
|
|
done
|
|
|
|
if $a
|
|
then
|
|
echo ""
|
|
echo "In order to use all the extensions install the packages: tar, bzip2, gzip, zip, 7za"
|
|
fi
|
|
echo ""
|
|
exit 0
|
|
}
|
|
|
|
function install()
|
|
{
|
|
echo "Install dependences"
|
|
echo ""
|
|
if [ -x "$(command -v apt)" ]
|
|
then
|
|
echo "Detect APT system"
|
|
echo ""
|
|
apt install tar bzip2 gzip zip p7zip-full
|
|
else
|
|
echo "No detect installer"
|
|
echo ""
|
|
fi
|
|
|
|
exit 0
|
|
}
|
|
|
|
if [ "$DEST" = "--help" ] || [ "$DEST" = "-h" ]
|
|
then
|
|
help
|
|
exit 0
|
|
fi
|
|
|
|
if [ "$DEST" = "--check" ] || [ "$DEST" = "-c" ]
|
|
then
|
|
check
|
|
exit 0
|
|
fi
|
|
|
|
if [ "$DEST" = "--install" ] || [ "$DEST" = "-i" ]
|
|
then
|
|
install
|
|
exit 0
|
|
fi
|
|
|
|
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
|
|
then
|
|
echo "Linux Compression Humanized $VERSION"
|
|
exit 0
|
|
else
|
|
echo ""
|
|
echo "lch $VERSION"
|
|
echo "---------"
|
|
echo ""
|
|
fi
|
|
|
|
if [ -z "$DEST" ]
|
|
then
|
|
help
|
|
exit 1
|
|
else
|
|
if [ -n "$ORIG" ]
|
|
then
|
|
echo "Compressor:"
|
|
echo "-----------"
|
|
echo ""
|
|
compressor $DEST $ORIG
|
|
else
|
|
echo "Decompressor:"
|
|
echo "-------------"
|
|
echo ""
|
|
decompressor $DEST
|
|
fi
|
|
fi
|