aboutsummaryrefslogtreecommitdiff
path: root/lib/os.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/os.sh')
-rw-r--r--lib/os.sh19
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/os.sh b/lib/os.sh
index 211bfaa..2f5e1b5 100644
--- a/lib/os.sh
+++ b/lib/os.sh
@@ -5,8 +5,8 @@ export JSON_OS=
if [ -f /etc/os-release ]; then
. /etc/os-release
- _os_type="${NAME}"
- _os_name="${ID}"
+ _os_type="${ID}"
+ _os_name="${NAME}"
_os_pretty_name="${PRETTY_NAME}"
_os_version="${VERSION}"
_os_version_id="${VERSION_ID}"
@@ -15,9 +15,18 @@ else
uname=$(uname | tr '[:upper:]' '[:lower:]')
case "${uname}" in
darwin)
- _os_type="macos"
- >&2 echo "${0}: error: macos not done yet!"
- exit 1;;
+ _os_type="darwin"
+ _vers=$(sw_vers | awk '{print $2}')
+ if [ "$?" = "0" ]; then
+ _os_name=$(echo "${_vers}" | tail -n +1 | head -n 1)
+ _os_version=$(echo "${_vers}" | tail -n +2 | head -n 1)
+ _os_pretty_name="${_os_name} ${_os_version}"
+ _os_version_id="${_os_version}"
+ _os_supported=1
+ else
+ >&2 echo "cloyster/os_detect.sh: error: unknown darwin system: '${uname}'"
+ fi
+ ;;
*)
_os_type="${uname}"
>&2 echo "cloyster/os_detect.sh: error: unknown operating system: '${uname}'"