#!/usr/bin/env bash
|
|
|
|
# Colors
|
|
RESET="\e[0m"
|
|
GREEN="\e[32m"
|
|
RED="\e[91m"
|
|
|
|
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 compression systems"
|
|
echo "$ lch -i - Install the compressors dependencies"
|
|
echo "$ lch file.zip - Decompress"
|
|
echo "$ lch file.zip /home/file - Compress"
|
|
echo "$ lch files.zip file1 file2 - Compress multiple"
|
|
echo ""
|
|
echo "Packing/unpacking supported extensions:"
|
|
echo " 7z, bz2, gz, rar, tar, tar.bz2, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, zip"
|
|
echo ""
|
|
echo "Unpacking only supported extensions:"
|
|
echo " arj, cab, dmg, iso, lzh, lzma, rpm, squashfs, vdi, vhd, vmdk, win, xar, z"
|
|
echo ""
|
|
echo "Run 'man lch' for more info."
|
|
echo ""
|
|
}
|
|
|
|
function check()
|
|
{
|
|
local a=false
|
|
echo -e "Verification of compression systems:\n"
|
|
echo -e "Systems\t\t\tStatus"
|
|
echo "----------------------------------"
|
|
for i in "7z" "bzip2" "gzip" "rar" "tar" "unrar" "unzip" "zip"
|
|
do
|
|
wheel true &
|
|
WPID=$!
|
|
if ! [ -x "$(command -v $i)" ]
|
|
then
|
|
echo -e "$i$RED\t\t\tNot Installed$RESET"
|
|
a=true
|
|
else
|
|
echo -e "$i$GREEN\t\t\tInstalled$RESET"
|
|
fi
|
|
disown $WPID
|
|
kill $WPID &> /dev/null
|
|
done
|
|
|
|
if $a
|
|
then
|
|
echo -e "\nIn order to use all the extensions install the packages."
|
|
echo -e "Or use 'lch -i' to install all dependences"
|
|
fi
|
|
echo ""
|
|
}
|
|
|
|
function lowercase()
|
|
{
|
|
echo "$DEST" | tr 'A-Z' 'a-z'
|
|
}
|
|
|
|
function error_not_install()
|
|
{
|
|
echo -e "$@$RED is not installed$RESET, use 'lch -c' to check and 'lch -i' to install."
|
|
exit 0
|
|
}
|
|
|
|
function executer()
|
|
{
|
|
wheel true &
|
|
WPID=$!
|
|
if [ -x "$(command -v $1)" ]
|
|
then
|
|
"$@" 1> /dev/null
|
|
else
|
|
error_not_install $1
|
|
fi
|
|
disown $WPID
|
|
kill $WPID &> /dev/null
|
|
}
|
|
|
|
function complete_install(){
|
|
echo -e "$@:$GREEN\t\t\tCompleted$RESET"
|
|
}
|
|
|
|
function failed_install(){
|
|
echo -e "$@:$RED\t\t\tFailed$RESET"
|
|
}
|
|
|
|
function wheel() {
|
|
sp='/-\|'
|
|
while $1; do
|
|
printf '%.1s\b' "$sp"
|
|
sp=${sp#?}${sp%???}
|
|
if [ -x "$(command -v bc)" ]
|
|
then
|
|
sleep $(echo "0.0001*$(grep 'cpu MHz' /proc/cpuinfo | head -n1 | awk '{print $4}')" | bc -l)s
|
|
else
|
|
sleep 0.2s
|
|
fi
|
|
done
|
|
}
|