87 lines
2.1 KiB
Bash
Executable File
87 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
source /dev/stdin <<< "$(curl -sL http://scity.xyz/colorsinc)"
|
|
|
|
# Detect distribution name
|
|
if [[ `which lsb_release 2>/dev/null` ]]; then
|
|
# lsb_release available
|
|
distrib_name=`lsb_release -is`
|
|
else
|
|
# lsb_release not available
|
|
lsb_files=`find /etc -type f -maxdepth 1 \( ! -wholename /etc/os-release ! -wholename /etc/lsb-release -wholename /etc/\*release -o -wholename /etc/\*version \) 2> /dev/null`
|
|
for file in $lsb_files; do
|
|
if [[ $file =~ /etc/(.*)[-_] ]]; then
|
|
distrib_name=${BASH_REMATCH[1]}
|
|
break
|
|
else
|
|
echo -e "${BOrange}Sorry, GlancesAutoInstall script is not compliant with your system.${Color_Off}"
|
|
echo -e "${BOrange}Please read: https://github.com/nicolargo/glances#installation${Color_Off}"
|
|
exit 1
|
|
fi
|
|
done
|
|
fi
|
|
|
|
echo -e "${CS[color,LightGreen]}Detected system: $distrib_name${CS[color,Default]}"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
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
|
|
versionGuess
|
|
giveUp
|
|
fi
|
|
|
|
# we shouldn't get here
|
|
giveUp
|
|
# done
|
|
|
|
|
|
|
|
exit 0 |