This commit is contained in:
2018-10-02 21:19:57 -05:00
parent fb088ca178
commit ae1106153c

66
test.sh
View File

@@ -25,21 +25,63 @@ echo -e "${CS[color,LightGreen]}Detected system: $distrib_name${CS[color,Default
echo ""
arch=$(uname -m)
kernel=$(uname -r)
if [ -n "$(command -v lsb_release)" ]; then
distroname=$(lsb_release -s -d)
elif [ -f "/etc/os-release" ]; then
distroname=$(grep PRETTY_NAME /etc/os-release | sed 's/PRETTY_NAME=//g' | tr -d '="')
elif [ -f "/etc/debian_version" ]; then
distroname="Debian $(cat /etc/debian_version)"
elif [ -f "/etc/redhat-release" ]; then
distroname=$(cat /etc/redhat-release)
giveUp () {
echo "Unknown"
exit 0
}
# keep this easily awkable, prepending an initial clue
versionGuess () {
if [ -e /proc/version ]; then
echo -n "Unsure "
cat /proc/version
exit 0
fi
return 1
}
# if we have ignition, print and exit
gotDist () {
[ -n "$1" ] && echo "$1" && exit 0
}
# we are only interested in a single word "dist" here
# various malformations can occur; admin will have to code appropately based on output
linuxRelease () {
if [ -r /etc/lsb-release ]; then
dist=$(grep 'DISTRIB_ID' /etc/lsb-release | sed 's/DISTRIB_ID=//' | head -1)
gotDist "$dist"
fi
dist=$(find /etc/ -maxdepth 1 -name '*release' 2> /dev/null | sed 's/\/etc\///' | sed 's/-release//' | head -1)
gotDist "$dist"
dist=$(find /etc/ -maxdepth 1 -name '*version' 2> /dev/null | sed 's/\/etc\///' | sed 's/-version//' | head -1)
gotDist "$dist"
return 1
}
# start with uname and branch the decision from there
dist=$(uname -s 2> /dev/null)
if [ "$dist" = "Linux" ]; then
linuxRelease
versionGuess
giveUp
elif [ -n "$dist" ]; then
echo "$dist"
exit 0
else
distroname="$(uname -s) $(uname -r)"
versionGuess
giveUp
fi
echo "${distroname}"
# we shouldn't get here
giveUp
# done
exit 0