Moin!
Kannst Du noch sagen, was das bedeutet, "in der Umgebung" der Shell?
Naja... In der Umgebung sind unter anderem die "Umgebungsvariablen" definiert. Wenn Du in einem script eine Variable definierst, dann ist die zunächst mal nur für dieses Script gültig und sowohl vergessen, wenn das Script beendet ist, als auch in Scripten unbekannt, die von Deinem Script aus aufgerufen werden.
Mit "export variablenname" legst Du eine variable in der Umgebung ab und damit ist sie dann auch für scripte bekannt, die Du von Deinem Script aus aufrufst.
Du kannst aber nicht Variablen zurück übergeben, also nichts in der Umgebung des aufrufenden Scripts verändern.
Dafür ist dann der "." (source ist die Langform des Kommandos) da. Damit bekommt das aufgerufene Script dieselbe Umgebung zur Verfügung gestellt und kann sie dann natürlich verändern.
-- Skeeve