75 строки
2.3 KiB
Bash
75 строки
2.3 KiB
Bash
#!/bin/bash
|
|
#V-SHISAV@MICROSOFT.COM
|
|
# THIS SCRIPT DETECT FOLLOWING DISTROS:
|
|
# UBUNTU [VERSION INDEPENDANT]
|
|
# CENTOS [VERSION INDEPENDANT]
|
|
# SUSE LINUX ENTERPRISE SERVER [VERSION INDEPENDANT]
|
|
# OPENSUSE [VERSION INDEPENDANT]
|
|
# REDHAT
|
|
# ORACLELINUX
|
|
# FEDORA
|
|
DetectDistro()
|
|
{
|
|
while echo $1 | grep ^- > /dev/null; do
|
|
eval $( echo $1 | sed 's/-//g' | tr -d '\012')=$2
|
|
shift
|
|
shift
|
|
done
|
|
if [ -e /etc/debian_version ]; then
|
|
tmp=`cat /etc/*-release`
|
|
if [[ "$tmp" == *Ubuntu* ]]; then
|
|
echo "UBUNTU"
|
|
exitVal=0
|
|
else
|
|
echo "DEBIAN"
|
|
exitVal=0
|
|
fi
|
|
elif [ -e /etc/redhat-release ]; then
|
|
tmp=`cat /etc/redhat-release`
|
|
if [ -e /etc/oracle-release ]; then
|
|
tmp=`cat /etc/oracle-release`
|
|
if [[ "$tmp" == *Oracle* ]]; then
|
|
echo "ORACLELINUX"
|
|
exitVal=0
|
|
else
|
|
echo "Unknown"
|
|
exitVal=1
|
|
fi
|
|
elif [[ "$tmp" == *CentOS* ]]; then
|
|
echo "CENTOS"
|
|
exitVal=0
|
|
elif [[ "$tmp" == *Fedora* ]]; then
|
|
echo "FEDORA"
|
|
exitVal=0
|
|
elif [[ "$tmp" == *Red* ]]; then
|
|
echo "REDHAT"
|
|
exitVal=0
|
|
else
|
|
echo "Unknown"
|
|
exitVal=1
|
|
fi
|
|
elif [ -e /etc/SuSE-release ]; then
|
|
tmp=`cat /etc/SuSE-release`
|
|
if [[ "$tmp" == *Enterprise* ]]; then
|
|
echo "SLES"
|
|
exitVal=0
|
|
elif [[ "$tmp" == *open* ]]; then
|
|
echo "SUSE"
|
|
exitVal=0
|
|
else
|
|
echo "Unknown"
|
|
fi
|
|
elif [ -e /etc/os-release ]; then
|
|
tmp=`cat /etc/os-release`
|
|
if [[ "$tmp" == *coreos* ]]; then
|
|
echo "COREOS"
|
|
exitVal=0
|
|
fi
|
|
elif [ -e /usr/share/clear/version ]; then
|
|
tmp=`cat /usr/share/clear/version`
|
|
echo "CLEARLINUX"
|
|
exitVal=0
|
|
fi
|
|
return $exitVal
|
|
}
|
|
DetectDistro |