Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e5d2578f4e | |||
| 1ee7f59029 | |||
| 8d0e54c3fc | |||
| 0a755b208e | |||
| e1283f23a1 | |||
| 2a4f587365 | |||
| 7defe8f4ad | |||
| 3dda858895 | |||
| 29d3a6c1af | |||
| df4fecb2b3 |
@@ -20,8 +20,15 @@ $ lch file.zip
|
||||
- gz
|
||||
- zip
|
||||
- 7z
|
||||
- rar
|
||||
|
||||
## Install
|
||||
```
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
## Testing with docker
|
||||
```
|
||||
$ git clone https://gitea.hatthieves.es/cloud/lch
|
||||
$ cd lch && docker run -it --rm --name lch --workdir /lch -v $(pwd):/lch putyourdistributionhere ./lch -h
|
||||
```
|
||||
@@ -12,6 +12,8 @@ echo " Installing lch"
|
||||
echo "======================"
|
||||
echo ""
|
||||
cp lch /usr/bin/lch
|
||||
mkdir -p /usr/lib/lch
|
||||
cp ./lib/* /usr/lib/lch
|
||||
chmod 755 /usr/bin/lch
|
||||
echo " Copied lch in /usr/bin"
|
||||
|
||||
|
||||
@@ -1,88 +1,12 @@
|
||||
#!/bin/bash
|
||||
VERSION=0.3r1
|
||||
VERSION=0.4r2
|
||||
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
|
||||
;;
|
||||
*.rar)
|
||||
unrar x $DEST
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
echo -e "For more information run 'lch --help'\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "\nDone"
|
||||
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
|
||||
;;
|
||||
*.rar)
|
||||
rar a $DEST $ORIG
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
echo -e "For more information run 'lch --help'\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "\nDone"
|
||||
exit 0
|
||||
}
|
||||
if [ -z /usr/lib/lch/compressor.sh ]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi
|
||||
if [ -z /usr/lib/lch/decompressor.sh ]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi
|
||||
if [ -z /usr/lib/lch/check.sh ]; then . /usr/lib/lch/check.sh; else . ./lib/check.sh; fi
|
||||
|
||||
function help()
|
||||
{
|
||||
@@ -92,12 +16,13 @@ function help()
|
||||
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 dependencies."
|
||||
echo "$ lch file.zip /home/file -Compress"
|
||||
echo "$ lch file.zip -Decompress"
|
||||
echo "$ lch -h - This help"
|
||||
echo "$ lch -v - Print version"
|
||||
echo "$ lch -c - Check compresion systems"
|
||||
echo "$ lch -i - Install the compressors dependencies."
|
||||
echo "$ lch file.zip - Decompress"
|
||||
echo "$ lch file.zip /home/file - Compress"
|
||||
echo "$ lch files.zip /flie1 /flie2 - Compress multiple"
|
||||
echo ""
|
||||
echo "Supported extensions:"
|
||||
echo " rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z"
|
||||
@@ -106,103 +31,6 @@ function help()
|
||||
echo ""
|
||||
}
|
||||
|
||||
function check()
|
||||
{
|
||||
local a=false
|
||||
echo -e "Verification of compression systems:\n"
|
||||
echo -e "Systems\t\t\tStatus"
|
||||
echo "----------------------------------"
|
||||
for i in "rar" "unrar" "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[32mInstalled\e[0m"
|
||||
fi
|
||||
done
|
||||
|
||||
if $a
|
||||
then
|
||||
echo -e "\nIn order to use all the extensions install the packages: tar, bzip2, gzip, zip, 7za, rar, unrar"
|
||||
fi
|
||||
echo ""
|
||||
exit 0
|
||||
}
|
||||
|
||||
function rarInstall(){
|
||||
|
||||
if [[ $(uname -m) -eq "x86_64" ]]
|
||||
then
|
||||
RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz"
|
||||
RAR_FILE="rarlinux-x64-5.9.1.tar.gz"
|
||||
else
|
||||
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
|
||||
RAR_FILE="rarlinux-5.9.1.tar.gz"
|
||||
fi
|
||||
wget $RAR_URL
|
||||
tar -zxvf $RAR_FILE
|
||||
cd rar
|
||||
cp -v rar unrar /usr/local/bin/
|
||||
cd ..
|
||||
rm -r rar $RAR_FILE
|
||||
echo "rar/unrar installed."
|
||||
}
|
||||
|
||||
function install()
|
||||
{
|
||||
echo -e "Install dependencies\n"
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo " Only root can execute this script, sorry."
|
||||
echo " Try 'sudo $0 $DEST'"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -e "$(command -v rar)" ]
|
||||
then
|
||||
echo "rar installed."
|
||||
else
|
||||
rarInstall
|
||||
fi
|
||||
|
||||
if [ -x "$(command -v apt)" ]
|
||||
then
|
||||
echo -e "APT system detected\n"
|
||||
apt install -y tar bzip2 gzip zip p7zip-full 1> /dev/null
|
||||
elif [ -n "$(grep "centos" /etc/*-release)" ]
|
||||
then
|
||||
echo -e "CentOS system detected\n"
|
||||
yum install -y -q epel-release 1> /dev/null
|
||||
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm 1> /dev/null
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 1> /dev/null
|
||||
yum repolist 1> /dev/null
|
||||
yum install -y -q tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v dnf)" ]
|
||||
then
|
||||
echo -e "DNF system detected\n"
|
||||
dnf install -y -q tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v yum)" ]
|
||||
then
|
||||
echo -e "Yum system detected\n"
|
||||
yum install -y -q tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v pacman)" ]
|
||||
then
|
||||
echo -e "Pacman system detected\n"
|
||||
pacman -Sqy --noconfirm tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v zypper)" ]
|
||||
then
|
||||
echo -e "Zypper system detected\n"
|
||||
zypper install -y tar bzip2 gzip zip p7zip-full 1> /dev/null
|
||||
else
|
||||
echo -e "System installer not detected\n"
|
||||
fi
|
||||
|
||||
echo -e "\nDependencies installation finished\n"
|
||||
exit 0
|
||||
}
|
||||
|
||||
if [ "$DEST" = "--help" ] || [ "$DEST" = "-h" ]
|
||||
then
|
||||
help
|
||||
@@ -217,7 +45,7 @@ fi
|
||||
|
||||
if [ "$DEST" = "--install" ] || [ "$DEST" = "-i" ]
|
||||
then
|
||||
install
|
||||
install $DEST $@
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
#!/bin/bash
|
||||
function check()
|
||||
{
|
||||
local a=false
|
||||
echo -e "Verification of compression systems:\n"
|
||||
echo -e "Systems\t\t\tStatus"
|
||||
echo "----------------------------------"
|
||||
for i in "rar" "unrar" "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[32mInstalled\e[0m"
|
||||
fi
|
||||
done
|
||||
|
||||
if $a
|
||||
then
|
||||
echo -e "\nIn order to use all the extensions install the packages: tar, bzip2, gzip, zip, 7za, rar, unrar"
|
||||
fi
|
||||
echo ""
|
||||
exit 0
|
||||
}
|
||||
|
||||
function rarInstall(){
|
||||
|
||||
if [[ $(uname -m) -eq "x86_64" ]]
|
||||
then
|
||||
RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz"
|
||||
RAR_FILE="rarlinux-x64-5.9.1.tar.gz"
|
||||
else
|
||||
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
|
||||
RAR_FILE="rarlinux-5.9.1.tar.gz"
|
||||
fi
|
||||
wget $RAR_URL
|
||||
tar -zxvf $RAR_FILE
|
||||
cd rar
|
||||
cp -v rar unrar /usr/local/bin/
|
||||
cd ..
|
||||
rm -r rar $RAR_FILE
|
||||
echo "rar/unrar installed."
|
||||
}
|
||||
|
||||
function install()
|
||||
{
|
||||
echo -e "Install dependencies\n"
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo " Only root can execute this script, sorry."
|
||||
echo " Try 'sudo $@'"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -e "$(command -v rar)" ]
|
||||
then
|
||||
echo "rar installed."
|
||||
else
|
||||
rarInstall
|
||||
fi
|
||||
|
||||
if [ -x "$(command -v apt)" ]
|
||||
then
|
||||
echo -e "APT system detected\n"
|
||||
apt install -y tar bzip2 gzip zip p7zip-full 1> /dev/null
|
||||
elif [ -n "$(grep "centos" /etc/*-release)" ]
|
||||
then
|
||||
echo -e "CentOS system detected\n"
|
||||
yum install -y -q epel-release 1> /dev/null
|
||||
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm 1> /dev/null
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 1> /dev/null
|
||||
yum repolist 1> /dev/null
|
||||
yum install -y -q tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v dnf)" ]
|
||||
then
|
||||
echo -e "DNF system detected\n"
|
||||
dnf install -y -q tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v yum)" ]
|
||||
then
|
||||
echo -e "Yum system detected\n"
|
||||
yum install -y -q tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v pacman)" ]
|
||||
then
|
||||
echo -e "Pacman system detected\n"
|
||||
pacman -Sqy --noconfirm tar bzip2 gzip zip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v zypper)" ]
|
||||
then
|
||||
echo -e "Zypper system detected\n"
|
||||
zypper install -y tar bzip2 gzip zip p7zip-full 1> /dev/null
|
||||
else
|
||||
echo -e "System installer not detected\n"
|
||||
fi
|
||||
|
||||
echo -e "\nDependencies installation finished\n"
|
||||
exit 0
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
function compressor()
|
||||
{
|
||||
case $1 in
|
||||
*.tar)
|
||||
tar -cvf $1 $2
|
||||
;;
|
||||
*.tar.gz | *.tgz)
|
||||
tar -czvf $1 $2
|
||||
;;
|
||||
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
||||
tar -c $2 | bzip2 > $1
|
||||
;;
|
||||
*.tar.xz | *.txz)
|
||||
tar -cJf $1 $2
|
||||
;;
|
||||
*.bz2)
|
||||
bzip2 -c $2 > $1
|
||||
;;
|
||||
*.gz)
|
||||
gzip -c $2 > $1
|
||||
;;
|
||||
*.zip)
|
||||
zip -r $1 $2
|
||||
;;
|
||||
*.7z)
|
||||
7za a $1 $2
|
||||
;;
|
||||
*.rar)
|
||||
rar a $1 $2
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
echo -e "For more information run 'lch --help'\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "\nDone"
|
||||
exit 0
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
function decompressor()
|
||||
{
|
||||
case $1 in
|
||||
*.tar)
|
||||
tar -xvf $1
|
||||
;;
|
||||
*.tar.gz | *.tgz)
|
||||
tar -xzvf $1
|
||||
;;
|
||||
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
||||
tar xjf $1
|
||||
;;
|
||||
*.tar.xz | *.txz)
|
||||
tar -xf $1
|
||||
;;
|
||||
*.bz2)
|
||||
bzip2 -d $1
|
||||
;;
|
||||
*.gz)
|
||||
gzip -d $1
|
||||
;;
|
||||
*.zip)
|
||||
unzip $1
|
||||
;;
|
||||
*.7z)
|
||||
7za e $1
|
||||
;;
|
||||
*.rar)
|
||||
unrar x $1
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
echo -e "For more information run 'lch --help'\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "\nDone"
|
||||
exit 0
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo " Only root can execute this script, sorry."
|
||||
echo " Try 'sudo ./uninstall.sh'"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Si existe el archivo lch
|
||||
if [[ -f "/usr/bin/lch" ]]; then
|
||||
rm /usr/bin/lch
|
||||
fi
|
||||
|
||||
# Si existe el directorio lch
|
||||
if [[ -d "/usr/lib/lch" ]]; then
|
||||
rm -rf "/usr/lib/lch"
|
||||
fi
|
||||
|
||||
# Si nulo manpath
|
||||
if [ -z "$MANPATH" ]; then
|
||||
MANPATH=$(manpath)
|
||||
fi
|
||||
|
||||
MANDIR=${MANPATH%%:*}/man1
|
||||
|
||||
# Si man lch.1
|
||||
if [[ -f "$MANDIR/lch.1" ]]; then
|
||||
rm "$MANDIR/lch.1"
|
||||
fi
|
||||
|
||||
# Si man lch.1.gz
|
||||
if [[ -f "$MANDIR/lch.1.gz" ]]; then
|
||||
rm "$MANDIR/lch.1.gz"
|
||||
fi
|
||||
|
||||
echo "============================="
|
||||
echo " lch uninstalled successfully."
|
||||
echo "============================="
|
||||
echo ""
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user