#!/usr/bin/env bash readonly getenv_dir="$(cd "$(dirname -- "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" get_os_version() { local os_version= local utils_version= os_version="$(bash "${getenv_dir}/distro.sh" | sed 's/ /_/g')" bash_version="$(bash --version | sed -n '/bash, [Vv]ersion/p' | sed 's/.*[Vv]ersion \([0-9.]\+\).*/\1/g')" if utils_version="$(readlink --version 2>&1 | grep -E "BusyBox")" ; then utils_version="$(sed 's/\(BusyBox v[0-9\.]\+\).*/\1/g' <<<${utils_version})" elif utils_version="$(readlink --version 2>&1 | grep -E "GNU core")" ; then utils_version="$(sed 's/.*\(GNU [[:alnum:]]\+\). \([0-9\.]\+\).*/\1 \2/g' <<<${utils_version})" else utils_version="utils_unkown" fi # Replace " " with _ utils_version="${utils_version// /_}" echo "${os_version}_${bash_version:+bash_${bash_version}}_${utils_version}" } get_os_version