Widziałem ten post na różne sposoby, aby dowiedzieć się, która dystrybucja jest zainstalowana, więc próbuję napisać skrypt, który wypróbuje je wszystkie. Możliwe polecenia obejmują:
$ cat /etc/lsb-release
$ cat /etc/issue
$ dmesg | head -1
$ cat /proc/version
$ cat /etc/slackware-version
$ cat/etc/debian-verion
Próbowałem napisać coś takiego (normalnie mówię po hiszpańsku, więc jest po hiszpańsku):
function Nombre_SO()
{
DistroName="Linux"
if [ $DistroName = Linux ] ;
then
# Debian
debian=`cat /etc/debian_version | cut -d " " -f01 | tr '[:upper:]' '[:lower:]'`
if [ "$debian" = "debian" || "squeeze/sid" || "lenny" ];
then
DistroName="debian"
else
echo "Esto no es debian"
fi
# Slackware
slackware=`cat /etc/slackware-version | cut -d " " -f01` | tr '[:upper:]' '[:lower:]'`
if [ "$slackware" = "slackware" || "slackware-x86_64" ];
then
DistroName="slackware"
else
echo "Esto no es Slackware"
}
Czy ktoś może mi pomóc w uwzględnieniu wszystkich innych sposobów uzyskania nazwy dystrybucji?
Jest to trochę „brutalna siła” metody osiągania celów, ale jest szybka i powinna, używając bash, działać na większości dystrybucji
źródło
Jeśli nie boisz się dodatkowych zależności, możesz użyć do tego faktora . Podaje informacje o nazwie i wersji dystrybucji nawet bez zainstalowanego lsb_release.
źródło