LoMeS/assets/test/test.sh

60 lines
No EOL
1.9 KiB
Bash
Executable file

#!/bin/bash
source assets/shell/colors
source assets/config/deps/dependencies
### DEPENDENCY CHECK & INSTALLER
echo -e "\n ${LCY}Dependency and Privilege Check running...${CRS}\n"
### PRIVILEGES
if (( $(id -u) == 0 )); then ### AM I ROOT?
echo -e " ${GRN}Privilege check passed...${CRS}\n"
else
echo -e " ${RED}Privilege check failed... Please run script with sudo or as root!${CRS}\n"
exit 1
fi
### DEPENDENCIES
dep_check() {
local pkg="$1"
if dpkg -s "$pkg" >/dev/null 2>&1; then
echo "$pkg" >>/tmp/installed_dev
else
echo "$pkg" >>/tmp/missing_dev
fi
}
for pkg in "${deps[@]}"; do
dep_check "$pkg"
done
installed="$(cat /tmp/installed_dev 2>/dev/null)"
missing="$(cat /tmp/missing_dev 2>/dev/null)"
if ! [ "$missing" ]; then
echo -e "\n ${GRN}Dependencies met. Proceeding...${CRS}\n"
else
echo -e "\n ${RED}Following dependencies are missing :${CRS}\n\n$missing"
while true; do
echo -e "\n ${YEL}Do you wish to install via APT?"
read -p " (Y/n) --> " install_dep
echo -e "${CRS}"
if [[ "$install_dep" = "" || "$install_dep" = "y" || "$install_dep" = "Y" ]]; then
sudo apt update && sudo apt install -y $missing --simulate
echo -e "\n ${GRN}Dependencies installed. Proceeding...${CRS}\n"
sudo rm /tmp/installed_dev /tmp/missing_dev 2>/dev/null
break
elif [[ "$install_dep" == "n" || "$install_dep" = "N" ]]; then
echo -e "\n ${RED}Missing dependencies... Exiting!${CRS}\n"
sudo rm /tmp/installed_dev /tmp/missing_dev 2>/dev/null
exit 1
else
echo -e "\n ${YEL}Invalid response... Try again...\n\n ${GRN}Y ${YEL}= (Yes, install dependencies and continue)\n ${RED}N ${YEL}= (No, don't install dependencies and exit)${CRS}\n "
fi
done
fi