#!/bin/bash -eu ####################################### # Tell the user what programs to install for a specific task. # Arguments: # Name of the program or actual command, a string. # External link for easier installation help. # Outputs: # Prints the required program name and the external link (if given). ####################################### function program_required() { if [ ! -x "$(command -v ${1})" ]; then echo "${1} is not installed on the computer..." if [ "${2}" ]; then echo "Check out this link: ${2}" fi exit 1 fi } ####################################### # Check for the PIP program. # Arguments: # None # Outputs: # None ####################################### function pip_required() { program_required "pip" "https://pip.pypa.io/en/stable/installation/" } ####################################### # Check for the NPM program. # Arguments: # None # Outputs: # None ####################################### function npm_required() { program_required "npm" "https://nodejs.org/en/download/" } ####################################### # Check for the PNPM program. # Arguments: # None # Outputs: # None ####################################### function pnpm_required() { program_required "pnpm" "https://pnpm.io/installation" } ####################################### # Check for the AWS CLI program. # Arguments: # None # Outputs: # None ####################################### function aws_required() { program_required "aws" "https://aws.amazon.com/cli/" } ####################################### # Check for the Git program. # Arguments: # None # Outputs: # None ####################################### function git_required() { program_required "git" "https://git-scm.com/downloads" } ####################################### # Check for the jq program. # Arguments: # None # Outputs: # None ####################################### function jq_required() { program_required "jq" "https://jqlang.github.io/jq/" } function foo_required() { program_required "foo" "https://jqlang.github.io/jq/" }