notes/scripts/dependencycheck

37 lines
897 B
Bash
Executable file

#!/bin/bash
# Error handling
set -e
# For styling/colorizing output
txtbld=$(tput bold)
txtred=${txtbld}$(tput setaf 1)
txtgreen=${txtbld}$(tput setaf 2)
txtwhite=${txtbld}$(tput setaf 7)
# Dependency check
function dependencycheck()
{
numdependencies="$#"
dependencies=("$@")
missingdependencies=0
for ((i = 0; i < numdependencies; i++)) ; do
if ! command -v "${dependencies[$i]}" &> /dev/null
then
echo "${txtred}dependency not met: ${dependencies[$i]}${txtwhite}"
missingdependencies=$((missingdependencies+1))
fi
done
if [ $missingdependencies -gt 0 ] ; then
echo "${txtred}Please install needed dependencies${txtwhite}"
exit 1
#comment out if sourced
else
echo "${txtgreen}All dependencies are met!${txtwhite}"
fi
}
# invoke function comment out if sourced
dependencycheck "$@"