Aufspüren von Betriebssystem und CPU-Typ ist nicht so einfach zu bewerkstelligen tragbar . Ich habe eine sh
Skript von etwa 100 Zeilen, das auf einer Vielzahl von Unix-Plattformen funktioniert: auf jedem System, das ich seit 1988 benutzt habe.
Die wichtigsten Elemente sind
-
uname -p
es Prozessortyp ist aber in der Regel unknown
auf modernen Unix-Plattformen.
-
uname -m
gibt auf einigen Unix-Systemen den "Hardware-Namen der Maschine" an.
-
/bin/arch
gibt, falls vorhanden, in der Regel den Typ des Prozessors an.
-
uname
ohne Argumente wird das Betriebssystem benannt.
Schließlich müssen Sie sich über die Unterschiede zwischen Plattformen und wie fein Sie sie machen wollen. Um die Dinge einfach zu halten, behandle ich zum Beispiel i386
über i686
jede " Pentium*
" und jede " AMD*Athlon*
" alle als x86
.
Meine ~/.profile
führt beim Start ein Skript aus, das eine Variable auf eine Zeichenfolge setzt, die die Kombination aus CPU und Betriebssystem angibt. Ich habe plattformspezifische bin
, man
, lib
y include
Verzeichnisse, die auf dieser Grundlage eingerichtet werden. Dann setze ich eine ganze Reihe von Umgebungsvariablen. So kann z.B. ein Shell-Skript zum Neuformatieren von Mails z.B. aufrufen, $LIB/mailfmt
die eine plattformspezifische ausführbare Binärdatei ist.
Wenn Sie an der falschen Stelle sparen wollen , uname -m
und einfach uname
wird Ihnen auf vielen Plattformen sagen, was Sie wissen wollen. Fügen Sie weitere Informationen hinzu, wenn Sie sie brauchen. (Und verwenden Sie case
, nicht verschachtelt if
!)