Ibland har man behov av att ta reda på vilken dist man kör. Antingen för att man själv glömt av det, eller också för att man behöver veta det i ett script för att kunna köra det inom flera distar.
Det här lilla scriptet skriver antingen ut direkt vilken dist (inklusive version) man kör om man kör det rakt av. Om man vill kan man ändra lite längst upp i det och:
- FULL - Om den är satt till "true" så skrivs allting ut. Om den däremot är satt till "false" så skrivs det enbart ut namnet på disten, t.ex "Ubuntu", "Mint", OpenSUSE" eller "CentOS" etc.
- LOWER - Om den är satt till "true" så skrivs allt ut i lower-case (små bokstäver). Kan vara bra när man ska kontrollera det i script.
I övrigt är det bara att "tuta och köra"....
Kod:
#! /bin/bash
#
FULL=true
LOWER=false
#
if [[ -z $1 ]]; then
ETC="/etc"
else
ETC=$1
fi
source $ETC/os-release
if [[ $FULL == true ]]; then
TMP=$(echo "$NAME $VERSION" | sed 's/Linux//g' | sed 's/ / /g' | xargs)
else
TMP=$(echo "$NAME $VERSION" | sed 's/Linux//g' | awk '{ print $1 }')
fi
if [[ $LOWER == true ]]; then
OUT=$(echo $TMP | tr '[:upper:]' '[:lower:]')
else
OUT=$TMP
fi
echo $OUT
Testat och funkar i Ubuntu, Mint, RHEL, SUSE, CentOS, Fedora, SLED och SLES...
