#!/bin/bash function group { echo -e "\e[1m$1\e[0m" } function good { echo -e "[\e[92m ok \e[0m] \e[32m$1\e[0m" } function bad { echo -e "[\e[91mfail\e[0m] \e[31m$1\e[0m" } function check { local NAME test -z "$2" || NAME="$2" test -z "$NAME" && NAME="$1" if [ -z "$(which $1)" ]; then bad "$NAME is missing" else good "Found $NAME at $(which $1)" fi } group "Checking for zenity" check "zenity" check "dialog" group "Checking tools" check "ffprobe" check "ffmpeg" check "transcode"