Topic : FreeMiNT für absolute Anfänger
Author : Draco (draco@atari.org)
Version : mint.stg (9/1/2001)
Subject : MiNT
Nodes : 73
Index Size : 2258
HCP-Version : 3
Compiled on : Atari
@charset : atarist
@lang :
@default :
@help :
@options : -i -s +zz -t4 -d10
@width : 75
View Ref-Filesetenv
Anders als TOS, macht FreeMiNT intensiven Gebrauch sogenannter
Umgebungsvariablen (auch Environmentvariablen genannt).
Tatsächlich ist TOS vielleicht das einzige Betriebssystem, in dem
Environmentvariablen nie benutzt worden sind, obwohl (und das mag eine
kleine Überraschung für einige seiner Benutzer sein) deren
Unterstützung immer existiert hat, von der ersten Version an.
Eine Environmentvariable ist im Grunde eine für Menschen lesbare
Zeichenfolge, die vom System unter einem bestimmten Namen "vermerkt"
wird. Solche Strings können abgefragt und von Software verwendet
werden, um beim System Auskunft über bestimmte benutzerdefinierte
Voreinstellungen erhalten.
Derwichtigste Unterschied zwischen Umgebungsvariablen und anderen vom
Benutzer definierten Einstellungen ist, daß erstere im Speicher des
Computers exakt in der textuellen Form gespeichert werden, in der sie
definiert wurden, während andere Einstellungen üblicherweise in eine
Form von Binärdaten konvertiert werden. So sieht eine typische
Environmentvariable aus:
HOSTNAME=saturn
or
PATH=u:\c\multitos;u:\d\programs
Umgebungsvariablen kontrollieren normalerweise Applikationen
(einschließlich Shells), aber nicht das System selbst, dieses
verwaltet sie bloß. Außerdem erhält jedes Benutzerprogramm
(Applikation) üblicherweise eine private Kopie der
Environmentvariablen, die der Shell bekannt sind, sodaß alle
Änderungen daran nur lokal wirksam sind und keinen Einfluß auf
ander Programme haben, sofern sie nicht explizit von dem Prozeß
gestartet wurden, der die Änderungen unternommen hat (wir sagen dann
"außer sie sind dessen Kindprozesse"). Natürlich wird, da alle
Programme von einer Shell gestartet werden, eine Modifikation, die von
der Shell vorgenommen wird, alle Programme beeinflussen - aber nur,
falls sie geladen wurden, nachdem die Shell diese Modifikation
vorgenommen hat.
Es gibt zwei "gebräuchliche" Befehle, die Sie verwenden können, um
eine Environmentvariable zu definieren, also können Sie, falls einer
nicht funktioniert, immer noch den anderen probieren:
setenvDieser wird vom FreeMiNT-Kernel unterstützt, während die Datei
mint.cnf ausgeführt wird, vom Atari AES 4.10 (MultiTOS) beim Auswerten
der Datei gem.cnf und von jeder Textshell, die von der sogenannten "C
Shell" (csh) abstammt. Die Syntax, die einer Variablen namens 'NAME'
einen 'Wert' zuweist, lautet:
setenv NAME valueDer andere Befehl wird von N.AES in Dateien des Typs n_aes.cnf
benutzt, sowie von allen Textshells, die von der sogenannten "Bourne
shell" abstammen (deren verbreitetste wohl bash ist), und heißt
export. Um eine Variable 'NAME' mit dem Wert 'Wert' zu
definieren, schreiben Sie folgendes:
export NAME=valueKeiner der beiden ist 'besser' or 'schlechter', genau wie keine der
Arten von Shells, die oben erwähnt werden, der anderen wirklich
überlegen ist, obgleich ja Vorlieben und Angewohnheiten von Benutzern
Die meisten Leute ziehen bash vor, aber dies gilt (zum
Beispiel) nicht für den Author dieses Handbuchs. :-)
hierbei auch zu berücksichtigen sind.