#!/bin/bash set -e # check dependencies count=0 for dependency in curl hxnormalize hxselect grep sed sort tail; do if [ ! -x "$(command -v $dependency)" ]; then echo "$dependency missing" count=$((count+1)) fi done # exit script if any dependencies missing if [ $count -ne 0 ]; then exit 1 fi # upstream URL UPSTREAM_URL="https://linux.dell.com/repo/community/openmanage/index.html" # options to pass to cURL, including custom user agent USER_AGENT="omsa-version-checker/1.0 george@rawlinson.net.nz" CURL_OPTS=(--silent --user-agent "$USER_AGENT") curl "${CURL_OPTS[@]}" "$UPSTREAM_URL" | \ hxnormalize -x | \ hxselect -c 'td>center' -s '\n' | \ grep '^v.*' | \ grep --invert-match '*\|,' | \ sed 's/^v//' | \ sort -n | \ tail -n 1 exit 0