#!/bin/bash is_command() { local check_command="$1" command -v "${check_command}" >/dev/null 2>&1 } git_update() { local git_name="$1" local git_path="$2" local git_repo="$3" if [ ! -d "$git_path" ]; then printf "$COL_YELLOW" "* Installing $git_name" git clone --quiet $git_repo $git_path else printf "$COL_YELLOW" "* Updating $git_name" git -C $git_path pull fi } should_apt_last_update() { LAST_UPDATED=$( stat --format="%X" /var/cache/apt/pkgcache.bin ) UNIX_TIME=$( date +%s ) TIME_DIFF=$(( UNIX_TIME - LAST_UPDATED )) if [[ "${TIME_DIFF}" -gt 43200 ]] then # 0 = true return 0 else # 1 = false return 1 fi } get_pkg_mgr() { if is_command apt-get ; then echo "apt-get" elif is_command rpm ; then # Then check if dnf or yum is the package manager if is_command dnf ; then echo "dnf" else echo "yum" fi fi } install_pkg() { # package to install local pkg_to_install="$1" # Get Command language PKG_MANAGER=$( get_pkg_mgr ) # Run apt-get update for distros that use apt-get if [ "$PKG_MANAGER" == "apt-get" ] ; then if should_apt_last_update ; then "${PKG_MANAGER} update" fi fi # Install the package local PKG_INSTALL=("${PKG_MANAGER}" install -y) "${PKG_INSTALL[@]}" "${pkg_to_install}" }