#!/bin/bash function get_platform() { local OS local ARCH local PLATFORM OS="$(uname -s)" ARCH="$(uname -m)" case $OS in "Linux") case $ARCH in "x86_64") ARCH=amd64 ;; "aarch64") ARCH=arm64 ;; "armv6") ARCH=armv6l ;; "armv8") ARCH=arm64 ;; .*386.*) ARCH=386 ;; esac PLATFORM="linux-$ARCH" ;; "Darwin") PLATFORM="darwin-amd64" ;; esac echo $PLATFORM } # function get_distro() { # /bin/cp /etc/os-release /tmp/os-release.tmp # source /etc/os-release # declare valid=${@:-"arch alpine debian ubuntu"} # [[ "${valid}" =~ $ID ]] && echo $ID && return 0 # [[ "${valid}" =~ $ID_LIKE ]] && echo $ID_LIKE && return 0 # return 1 # } function get_release() { } get_distro() { local file=/etc/upstream-release/lsb-release local distro if [[ -f $file ]]; then $(cat $file | tr [:upper:] [:lower:] | grep -Poi '(debian|ubuntu|red hat|centos|arch|alpine)' | uniq) return 0 else $file=/etc/os-release if [[ -f $file ]]; then echo $(cat $file | tr [:upper:] [:lower:] | grep -Poi '(debian|ubuntu|red hat|centos|arch|alpine)' | uniq) fi }