Code: Alles auswählen
(ls /etc/*[-_]release 2>/dev/null && cat /etc/*[-_]release) || (ls /etc/*[-_]version && cat /etc/*[-_]version)
Moderator: Moderatoren
Code: Alles auswählen
(ls /etc/*[-_]release 2>/dev/null && cat /etc/*[-_]release) || (ls /etc/*[-_]version && cat /etc/*[-_]version)
Code: Alles auswählen
DISTRO=`grep -ihs "buntu\|SUSE\|Fedora\|PCLinuxOS\|MEPIS\|Mandriva\|Debian\|Damn\|Sabayon\|Slackware\|KNOPPIX\|Gentoo\|Zenwalk\|Mint\|Kubuntu\|FreeBSD\|Puppy\|Freespire\|Vector\|Dreamlinux\|CentOS\|Arch\|Xandros\|Elive\|SLAX\|Red\|BSD\|KANOTIX\|Nexenta\|Foresight\|GeeXboX\|Frugalware\|64\|SystemRescue\|Novell\|Solaris\|BackTrack\|KateOS\|Pardus" /etc/{issue,*release,*version}`
Das ist eine interessante Variante. Allerdings muss man dann noch der returnten String parsen um genau rauszubekommen welche Distro man hat. Mir schwebt eher sowas vor wie:tisu hat geschrieben:...Hoffe es hilft und beste Grüße
Code: Alles auswählen
distro=detectDistro();
switch distro in;
openSusE: doSomething;
ubuntu: doSomething;
debian: doSomething;
esac;
Code: Alles auswählen
lsb_release -d
Das wärsabgdf hat geschrieben:Code: Alles auswählen
lsb_release -d
Das ist seltsam - ich habe mal gerade meine VMs und mein laufendes System befragt:framp hat geschrieben:OpenSuSE und Kubuntu: Nein
Code: Alles auswählen
rjuhser@linux-ul7v:~> lsb_release -d
Description: openSUSE 11.2 (i586)
rjuhser@vbox-karmic:~$ lsb_release -d
Description: Ubuntu 9.10
rjuhser@zeus:~> lsb_release -d
Description: openSUSE 11.1 (i586)
lsb_release -d
Description: Debian GNU/Linux unstable (sid)
Code: Alles auswählen
richy@p5:~> (ls /etc/*[-_]release 2>/dev/null && cat /etc/*[-_]release) || (ls /etc/*[-_]version && cat /etc/*[-_]version)
/etc/SuSE-release
openSUSE 11.2 (x86_64)
VERSION = 11.2
richy@p5:~>
Bei mir geht es unter sidux nicht.stka hat geschrieben:Sidux geht auch:lsb_release -d
Description: Debian GNU/Linux unstable (sid)
Deshalb:Saedelaere hat geschrieben:Jetz stellt sich nur die Frage warum dein Script überhaupt von der Distribution abhängig sein soll/muss. So was funktioniert auf Dauer nie.
Das ist z.B. bei Skripten interessant, die bestimmte Informationen sammeln und ausgeben sollen.framp hat geschrieben:Da es leider zwischen den Linux Distros Unterschiede gibt muss ich im Script wissen mit welcher Distro ich es zu tun habe.
Ja, nur lesen kann ich auch. Mich hätte halt interessiert welche Unterschiede er meint.gropiuskalle hat geschrieben:Deshalb:Saedelaere hat geschrieben:Jetz stellt sich nur die Frage warum dein Script überhaupt von der Distribution abhängig sein soll/muss. So was funktioniert auf Dauer nie.
Das ist z.B. bei Skripten interessant, die bestimmte Informationen sammeln und ausgeben sollen.framp hat geschrieben:Da es leider zwischen den Linux Distros Unterschiede gibt muss ich im Script wissen mit welcher Distro ich es zu tun habe.
Netzwerkkonfigurationen werden unterschiedlich und an verscheidenen Stellen abgelegt:Saedelaere hat geschrieben:... Ja, nur lesen kann ich auch. Mich hätte halt interessiert welche Unterschiede er meint.
Klar, das ist auch eine Möglichkeit. Aber ehrlich gesagt möchte ich das gerne programmatisch lösen. lsb_release ist schon sehr gut - nur scheint es leider nicht in allen Distros per default installiert zu seinadmine hat geschrieben:Muss dein Script denn "allein" laufen oder wäre nicht auch "interaktiv" möglich?
Bsp:
gib 1 ein für openSUSE, 2 für Ubuntu, 3 für Sidux etc.