Skip to content

Instantly share code, notes, and snippets.

@hr-sadooghi
Created July 29, 2017 16:44
Show Gist options
  • Save hr-sadooghi/ca2adb51de1e4d88e8abfcfdf0ea385c to your computer and use it in GitHub Desktop.
Save hr-sadooghi/ca2adb51de1e4d88e8abfcfdf0ea385c to your computer and use it in GitHub Desktop.
This shell script find out which distro and version of *nix os used.
#!/bin/sh
# Detects which OS and if it is Linux then it will detect which Linux Distribution.
# Thanks to this contribution that we take it from this site:
# http://www.unix.com/unix-for-advanced-and-expert-users/21468-machine.html#post83185
# Test result on ubuntu 14.04 LTS:
# Linux Debian jessie/sid ( 3.13.0-32-generic x86_64)
OS=`uname -s`
REV=`uname -r`
MACH=`uname -m`
GetVersionFromFile()
{
VERSION=`cat $1 | tr "\n" ' ' | sed s/.*VERSION.*=\ // `
}
if [ "${OS}" = "SunOS" ] ; then
OS=Solaris
ARCH=`uname -p`
OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
elif [ "${OS}" = "AIX" ] ; then
OSSTR="${OS} `oslevel` (`oslevel -r`)"
elif [ "${OS}" = "Linux" ] ; then
KERNEL=`uname -r`
if [ -f /etc/redhat-release ] ; then
DIST='RedHat'
PSUEDONAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
REV=`cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//`
elif [ -f /etc/SuSE-release ] ; then
DIST=`cat /etc/SuSE-release | tr "\n" ' '| sed s/VERSION.*//`
REV=`cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*=\ //`
elif [ -f /etc/mandrake-release ] ; then
DIST='Mandrake'
PSUEDONAME=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
REV=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
elif [ -f /etc/debian_version ] ; then
DIST="Debian `cat /etc/debian_version`"
REV=""
fi
if [ -f /etc/UnitedLinux-release ] ; then
DIST="${DIST}[`cat /etc/UnitedLinux-release | tr "\n" ' ' | sed s/VERSION.*//`]"
fi
OSSTR="${OS} ${DIST} ${REV}(${PSUEDONAME} ${KERNEL} ${MACH})"
fi
echo ${OSSTR}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment