From fb28efc834625b05bee45bb7426ae9b29a9f7025 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 19 Jul 2019 17:01:15 +0200 Subject: [PATCH] function to get OS releases for Linux and macOS added to libstd --- Pmodules/libstd.bash | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Pmodules/libstd.bash b/Pmodules/libstd.bash index 846484d..b3e5e1b 100644 --- a/Pmodules/libstd.bash +++ b/Pmodules/libstd.bash @@ -271,6 +271,31 @@ There is NO WARRANTY, to the extent permitted by law." done } +std.get_os_release_linux() { + source /etc/os-release + case "${ID}" in + science | rhel | centos | fedora ) + echo "rhel${VERSION_ID%.*}" + ;; + * ) + echo "Unknown" + exit 1 + ;; + esac +} +std.get_os_release_macos() { + VERSION_ID=$(sw_vers -productVersion) + echo "macOS${VERSION_ID%.*}" +} + +std::get_os_release() { + local -r OS=$(uname -s) + local -A func_map; + func_map['Linux']=std.get_os_release_linux + func_map['Darwin']=std.get_os_release_macos + ${func_map[${OS}]} +} + # Local Variables: # mode: sh # sh-basic-offset: 8