32 Commits

Author SHA1 Message Date
g bf76e052ec Merge pull request '0.6-stable' (#2) from 0.6-dev into master
Reviewed-on: https://gitea.hatthieves.es/cloud/lch/pulls/2
2020-10-03 12:56:30 +00:00
ale f30aed7d2b 0.6r8 2020-10-03 14:47:56 +02:00
Gustavo Adolfo Mesa Roldán 0bfa956345 0.6r7 - Stable 2020-10-03 14:37:32 +02:00
Gustavo Adolfo Mesa Roldán 667e00baea 0.6r7 - Stable 2020-10-03 14:30:06 +02:00
ale d9278518de 0.6r6 2020-10-03 14:21:23 +02:00
Gustavo Adolfo Mesa Roldán 62cb38a046 Merge branch '0.6-dev' of http://gitea.hatthieves.es/cloud/lch into 0.6-dev 2020-10-03 13:34:51 +02:00
Gustavo Adolfo Mesa Roldán 8a22e4c66c 0.5*-- 2020-10-03 13:34:48 +02:00
ale 909c8186ca 0.6r5 2020-10-03 13:33:19 +02:00
ale 1e1be717d7 0.6r4 2020-10-03 13:10:10 +02:00
Gustavo Adolfo Mesa Roldán 9e02361f31 0.6r4 - rpm init 2020-10-03 12:43:40 +02:00
ale 2b48268c30 0.6r3 2020-10-03 12:42:16 +02:00
Gustavo Adolfo Mesa Roldán 54194e3b89 0.6r2 2020-10-03 12:15:05 +02:00
Gustavo Adolfo Mesa Roldán 91cae2b675 0.6r1 2020-10-03 11:59:47 +02:00
Gustavo Adolfo Mesa Roldán c394876fcb 0.6r0 2020-10-03 11:42:11 +02:00
Gustavo Adolfo Mesa Roldán 832718e391 0.6 dev 2020-10-03 11:14:00 +02:00
Gustavo Adolfo Mesa Roldán 3c84ab9231 0.6 dev 2020-10-03 11:11:35 +02:00
Gustavo Adolfo Mesa Roldán fddc1481ef 0.5r10 2020-10-03 08:30:27 +02:00
Gustavo Adolfo Mesa Roldán 438e6867c5 0.5r9 - Executer 2020-10-03 08:12:14 +02:00
Gustavo Adolfo Mesa Roldán 4e04efe1af 0.5r9 - Executer 2020-10-03 08:01:47 +02:00
Gustavo Adolfo Mesa Roldán 5816870906 0.5r8 2020-10-03 07:19:07 +02:00
Gustavo Adolfo Mesa Roldán b25fc8bd8d 0.5r7 2020-10-03 07:00:43 +02:00
Gustavo Adolfo Mesa Roldán edccc89586 0.5r7 2020-10-03 06:46:02 +02:00
Gustavo Adolfo Mesa Roldán 6b94a50229 0.5r6 - stable 2020-10-03 05:56:48 +02:00
Gustavo Adolfo Mesa Roldán 2596a6a6fb 0.5r6 - More... 2020-10-03 05:40:11 +02:00
Gustavo Adolfo Mesa Roldán b8cb0defe8 0.5r5 - vmdk run 2020-10-03 05:05:40 +02:00
Gustavo Adolfo Mesa Roldán b10ba9ffee 0.5r4 - Readme 2020-10-03 03:52:10 +02:00
Gustavo Adolfo Mesa Roldán 8ae84ab526 0.5r4 - Readme 2020-10-03 03:33:00 +02:00
Gustavo Adolfo Mesa Roldán 6692024ae1 0.5r4 - Readme 2020-10-03 03:27:35 +02:00
Gustavo Adolfo Mesa Roldán 9a13b0168c 0.5r4 - Readme 2020-10-03 03:26:43 +02:00
Gustavo Adolfo Mesa Roldán 446b6647ed 0.5r4 - Readme 2020-10-03 03:20:12 +02:00
Gustavo Adolfo Mesa Roldán fd40e86308 0.5r4 2020-10-03 03:18:22 +02:00
Gustavo Adolfo Mesa Roldán 2c6f419db8 More extensions and check after to run 2020-10-03 03:01:42 +02:00
11 changed files with 414 additions and 97 deletions
+50 -16
View File
@@ -1,4 +1,18 @@
#Linux compressor humanizer # Linux compressor humanizer
## Installation
###### install
```
sudo ./install.sh
```
###### Uninstall
```
sudo ./uninstall.sh
```
## Usage
###### Compress ###### Compress
``` ```
@@ -10,22 +24,42 @@ $ lch file.zip file1 [file2...]
$ lch file.zip $ lch file.zip
``` ```
## Supported extensions ###### Options
- tar ```
- tar.gz $ lch -h - Show help
- tar.bz2 $ lch -v - Print version
- tar.xz $ lch -c - Check compression systems
- bz2 $ lch -i - Install the compressors dependencies
- tgz ```
- gz
- zip
- 7z
- rar
## Install ## Supported extensions
```
sudo ./install.sh ###### Packing/unpacking:
``` - 7z
- bz2
- gz
- rar
- tar
- tar.bz2, tbz, tbz2, tb2
- tar.gz, tgz
- tar.xz, txz
- zip
###### Unpacking only:
- arj
- cab
- dmg
- iso
- lzh
- lzma
- rpm
- squashfs
- vdi
- vhd
- vmdk
- win
- xar
- z
## Testing with docker ## Testing with docker
``` ```
+5 -6
View File
@@ -1,14 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
VERSION=0.5r2 VERSION=0.6r8
DEST=$1 DEST=$1
shift 1 shift 1
ORIG=$@ ORIG=$@
if [[ -e /usr/lib/lch/resources.sh ]]; then . /usr/lib/lch/resources.sh; else . ./lib/resources.sh; fi if [[ -e ./lib/resources.sh ]]; then . ./lib/resources.sh; else . /usr/lib/lch/resources.sh; fi
if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi if [[ -e ./lib/compressor.sh ]]; then . ./lib/compressor.sh; else . /usr/lib/lch/compressor.sh; fi
if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi if [[ -e ./lib/decompressor.sh ]]; then . ./lib/decompressor.sh; else . /usr/lib/lch/decompressor.sh; fi
if [[ -e /usr/lib/lch/installer.sh ]]; then . /usr/lib/lch/installer.sh; else . ./lib/installer.sh; fi if [[ -e ./lib/installer.sh ]]; then . ./lib/installer.sh; else . /usr/lib/lch/installer.sh; fi
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ] if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
then then
+5 -3
View File
@@ -1,4 +1,4 @@
.TH LCH 1 "29 September 2020" .TH LCH 1 "03 October 2020"
.SH NAME .SH NAME
lch \- command\-line compressor and decompressor for humans lch \- command\-line compressor and decompressor for humans
.SH SYNOPSIS .SH SYNOPSIS
@@ -10,9 +10,11 @@ lch \- command\-line compressor and decompressor for humans
simplicity in mind. Automatically select the compression format by file simplicity in mind. Automatically select the compression format by file
extension. extension.
Supported extensions: Packing/unpacking supported extensions:
7z, bz2, gz, rar, tar, tar.bz2, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, zip
rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z Unpacking only supported extensions:
arj, cab, dmg, iso, lzh, lzma, rpm, squashfs, vdi, vhd, vmdk, win, xar, z
.SH OPTIONS .SH OPTIONS
.TP .TP
+10 -10
View File
@@ -4,31 +4,31 @@ function compressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
tar -cvf $DEST $ORIG executer tar -cvf $DEST $ORIG
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -czvf $DEST $ORIG executer tar -czvf $DEST $ORIG
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar -c $ORIG | bzip2 > $DEST executer tar -c $ORIG | bzip2 > $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -cJf $DEST $ORIG executer tar -cJf $DEST $ORIG
;; ;;
*.bz2) *.bz2)
bzip2 -c $ORIG > $DEST executer bzip2 -c $ORIG > $DEST
;; ;;
*.gz) *.gz)
gzip -c $ORIG > $DEST executer gzip -c $ORIG > $DEST
;; ;;
*.zip) *.zip)
zip -r $DEST $ORIG executer zip -r $DEST $ORIG
;; ;;
*.7z) *.7z)
7za a $DEST $ORIG executer 7z a $DEST $ORIG
;; ;;
*.rar) *.rar)
rar a $DEST $ORIG executer rar a $DEST $ORIG
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -36,5 +36,5 @@ function compressor()
;; ;;
esac esac
echo -e "\nDone" echo -e "\nFile $DEST compressed."
} }
+11 -11
View File
@@ -4,31 +4,31 @@ function decompressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
tar -xvf $DEST executer tar -xvf $DEST
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -xzvf $DEST executer tar -xzvf $DEST
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar xjf $DEST executer tar xjf $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -xf $DEST executer tar -xf $DEST
;; ;;
*.bz2) *.bz2)
bzip2 -d $DEST executer bzip2 -d $DEST
;; ;;
*.gz) *.gz)
gzip -d $DEST executer gzip -d $DEST
;; ;;
*.zip) *.zip)
unzip $DEST executer unzip $DEST
;; ;;
*.7z) *.7z | *.arj | *.cab | *.dmg | *.iso | *.lzh | *.lzma | *.rpm | *.squashfs | *.vdi | *.vhd | *.vmdk | *.win | *.xar | *.z)
7za e $DEST executer 7z e -y $DEST
;; ;;
*.rar) *.rar)
unrar x $DEST executer unrar x $DEST
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -36,5 +36,5 @@ function decompressor()
;; ;;
esac esac
echo -e "\nDone" echo -e "\nFile $DEST decompressed."
} }
+30 -43
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
function rarInstall(){ function rarInstall(){
if [ -e "$(command -v wget)" ] if [ -e "$(command -v wget)" ] || [ -e "$(command -v curl)" ]
then then
if [[ "$(uname -m)" == "x86_64" ]] if [[ "$(uname -m)" == "x86_64" ]]
then then
@@ -11,74 +11,61 @@ function rarInstall(){
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz" RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
RAR_FILE="rarlinux-5.9.1.tar.gz" RAR_FILE="rarlinux-5.9.1.tar.gz"
fi fi
wget $RAR_URL if [ -e "$(command -v wget)" ]
tar -zxvf $RAR_FILE then
wget -q $RAR_URL > /dev/null
else
curl -s -o $RAR_FILE $RAR_URL > /dev/null
fi
tar -zxvf $RAR_FILE > /dev/null
cd rar cd rar
cp -v rar unrar /usr/local/bin/ cp -v rar unrar /usr/local/bin/ > /dev/null
cd .. cd ..
rm -r rar $RAR_FILE rm -r rar $RAR_FILE > /dev/null
echo "rar/unrar installed." complete_install "rar"
else else
echo -e "\n\e[91m[Error]\e[0m - Wget is not installed, so rar could not be installed.\nPlease install wget.\n" echo -e "\n\e[91m[Error]\e[0m - wget or curl is not installed, so rar could not be installed.\nPlease install wget.\n"
read -p "Press [ENTER] to continue installing or [CTRL+C] to exit." read -p "Press [ENTER] to continue installing or [CTRL+C] to exit."
fi fi
} }
function install() function install()
{ {
echo -e "Install dependencies\n"
if [ "$UID" != "0" ]; then if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry." echo " Only root can execute this script, sorry."
echo " Try 'sudo $0 $@'" echo " Try 'sudo lch $@'"
exit 0 exit 0
fi fi
if [ -e "$(command -v rar)" ] if [ $# -eq 1 ]; then
then # Poner aviso "Vamos a instalarlo todo y mucho"
echo "rar installed." read -p "Do you want to install non-free software? (rar, unrar) [y/N]: " PRIVSOFT
case ${PRIVSOFT} in
y | Y | yes)
PRIVSOFT=true
echo -e "\nInstall all dependencies (with non-free)\n";;
*)
PRIVSOFT=false
echo -e "\nOnly will install free software.\n";;
esac
else else
read -p "Do you want to install non-free software? (rar, unrar) [Y/N]: " PRIVSOFT PRIVSOFT=false
case ${PRIVSOFT} in
y|Y)
rarInstall;;
n|N)
echo -e "\nOnly will install free software.\n";;
*)
echo -e "Options: 'Y' or 'N': ";;
esac
fi fi
if [ -x "$(command -v apt)" ] if [ -x "$(command -v apt)" ]
then then
echo -e "APT system detected\n" if [[ -e ./lib/installers/deb.sh ]]; then . ./lib/installers/deb.sh; else . /usr/lib/lch/installers/deb.sh; fi
apt install -y tar bzip2 gzip zip unzip 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 unzip p7zip 1> /dev/null
elif [ -x "$(command -v dnf)" ]
then
echo -e "DNF system detected\n"
dnf install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v yum)" ] elif [ -x "$(command -v yum)" ]
then then
echo -e "Yum system detected\n" if [[ -e ./lib/installers/rpm.sh ]]; then . ./lib/installers/rpm.sh; else . /usr/lib/lch/installers/rpm.sh; fi
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v pacman)" ] elif [ -x "$(command -v pacman)" ]
then then
echo -e "Pacman system detected\n" if [[ -e ./lib/installers/pacman.sh ]]; then . ./lib/installers/pacman.sh; else . /usr/lib/lch/installers/pacman.sh; fi
pacman -Sqy --noconfirm tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v zypper)" ] elif [ -x "$(command -v zypper)" ]
then then
echo -e "Zypper system detected\n" if [[ -e ./lib/installers/zypper.sh ]]; then . ./lib/installers/zypper.sh; else . /usr/lib/lch/installers/zypper.sh; fi
zypper install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null
else else
echo -e "System installer not detected\n" echo -e "System installer not detected"
fi fi
echo -e "\nDependencies installation finished\n" echo -e "\nDependencies installation finished\n"
+55
View File
@@ -0,0 +1,55 @@
#!/usr/bin/env bash
# Functions
function get_dep(){
wheel true &
WPID=$!
apt-get install -y $@ &> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip-full" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip-full" ]]; then complete_install 7z; else complete_install $@; fi
fi
disown $WPID
kill $WPID &> /dev/null
}
# Run
echo -e "APT system detected"
echo "---------------------"
wheel true &
WPID=$!
apt-get update 1> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip-full"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
get_dep p7zip-full
;;
*)
get_dep $i
;;
esac
fi
done
fi
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
# Function
function get_dep(){
wheel true &
WPID=$!
pacman -Sqy --noconfirm $@ &> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip" ]]; then complete_install 7z; else complete_install $@; fi
fi
disown $WPID
kill $WPID &> /dev/null
}
# Run
echo -e "Pacman system detected"
echo "---------------------"
wheel true &
WPID=$!
pacman -F -y 1> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
get_dep p7zip
;;
*)
get_dep $i
;;
esac
fi
done
fi
+88
View File
@@ -0,0 +1,88 @@
#!/usr/bin/env bash
# Functions
function get_dep(){
wheel true &
WPID=$!
if [[ $@ == "p7zip-plugins" ]]; then
yum install -y -q $@ 1> /dev/null
else
yum install -y -q $@ 1> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip" ]]; then complete_install 7z; else complete_install $@; fi
fi
fi
disown $WPID
kill $WPID &> /dev/null
}
function install_centos(){
if [ -n "$(grep "centos" /etc/*-release)" ]; then
yum install -y -q epel-release &> /dev/null
rpm --quiet --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 &> /dev/null
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm &> /dev/null
fi
}
# Run
echo -e "YUM system detected"
echo "---------------------"
wheel true &
WPID=$!
yum -y -q update &> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
install_centos
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip" "p7zip-plugins"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
install_centos
get_dep p7zip
get_dep p7zip-plugins
;;
*)
get_dep $i
;;
esac
fi
done
fi
# [ -n "$(grep "centos" /etc/*-release)" ]
# echo -e "CentOS system detected"
# 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 unzip p7zip p7zip-plugins 1> /dev/null
# elif
# then
# echo -e "DNF system detected"
# dnf install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
# elif
# then
# echo -e "Yum system detected"
# yum install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
# Function
function get_dep(){
wheel true &
WPID=$!
zypper install -y $@ &> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip-full" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip-full" ]]; then complete_install 7z; else complete_install $@; fi
fi
disown $WPID
kill $WPID &> /dev/null
}
# Run
echo -e "Zypper system detected"
echo "---------------------"
wheel true &
WPID=$!
zypper -q up -y 1> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip-full"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
get_dep p7zip-full
;;
*)
get_dep $i
;;
esac
fi
done
fi
+50 -5
View File
@@ -16,8 +16,11 @@ function help()
echo "$ lch file.zip /home/file - Compress" echo "$ lch file.zip /home/file - Compress"
echo "$ lch files.zip file1 file2 - Compress multiple" echo "$ lch files.zip file1 file2 - Compress multiple"
echo "" echo ""
echo "Supported extensions:" echo "Packing/unpacking supported extensions:"
echo " rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z" 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 ""
echo "Run 'man lch' for more info." echo "Run 'man lch' for more info."
echo "" echo ""
@@ -29,20 +32,25 @@ function check()
echo -e "Verification of compression systems:\n" echo -e "Verification of compression systems:\n"
echo -e "Systems\t\t\tStatus" echo -e "Systems\t\t\tStatus"
echo "----------------------------------" echo "----------------------------------"
for i in "rar" "unrar" "tar" "bzip2" "gzip" "zip" "unzip" "7za" for i in "7z" "bzip2" "gzip" "rar" "tar" "unrar" "unzip" "zip"
do do
wheel true &
WPID=$!
if ! [ -x "$(command -v $i)" ] if ! [ -x "$(command -v $i)" ]
then then
echo -e "$i\t\t\t\e[91mNot Installed\e[0m" echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
$a = true a=true
else else
echo -e "$i\t\t\t\e[32mInstalled\e[0m" echo -e "$i\t\t\t\e[32mInstalled\e[0m"
fi fi
disown $WPID
kill $WPID &> /dev/null
done done
if $a if $a
then then
echo -e "\nIn order to use all the extensions install the packages: tar, bzip2, gzip, zip, unzip, 7za, rar, unrar" echo -e "\nIn order to use all the extensions install the packages."
echo -e "Or use 'lch -i' to install all dependences"
fi fi
echo "" echo ""
} }
@@ -51,3 +59,40 @@ function lowercase()
{ {
echo "$DEST" | tr 'A-Z' 'a-z' echo "$DEST" | tr 'A-Z' 'a-z'
} }
function error_not_install()
{
echo -e "$@ \e[91mis not installed\e[0m, use 'lch -i' to install and 'lch -c' to check."
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 "$@:\t\t\t\e[32mComplete\e[0m"
}
function failed_install(){
echo -e "$@:\t\t\t\e[91mFailed\e[0m"
}
function wheel() {
sp='/-\|'
while $1; do
printf '%.1s\b' "$sp"
sp=${sp#?}${sp%???}
sleep 0.1s
done
}