Michael Böckling wrote:
Also: in /etc/profile.local habe ich zusätzliche Einträge für PATH spezifiziert, d.h. also, dass alle Benutzer das mitbekommen müssten.
Wie sehen die Eintraege genau aus? Bei SuSE 10 sollte es uebrigens ein entsprechendes File in /etc/profile.d tun.
Auf der Shell funktioniert das auch (echo $PATH sieht gut aus). Wenn ich nun allerdings das gleiche in einem Shell-Skript mache, sind da viel weniger Einträge in PATH als es sein müssten. Warum ist das so? Gilt /etc/profile.local nur für interaktive Shells?
Eine interaktvie Login-Shell (oder falls anderweitig explizit die --login Option benutzt wird) fuehrt /etc/profile (und damit zusammenhaengende weitere Dateien) aus. Danach wird eine eventuelle user-spezifische .profile Datei ausgewertet. Eine allgemeine interaktive Shell fuehrt die Datei .bashrc aus, ausser es wird explizit durch Optionen abgeschaltet. Falls Variablen mittels "export" exportiert werden, sind sie in einer Sub-Shell ebenfalls gesetzt, ansonsten nicht, und hier koennte Dein Problem liegen. Dein Problem klingt fuer mich so als ob Du die Variablen nicht exportiert haettest. Hier ein Beispiel, das folgendes kleines Skript (skript.sh) benutzt ("$>" ist der Shell-Prompt): $> cat skript.sh #!/bin/bash echo $VARIABLE $> Ich setze im folgenden Beispiel zunaechst eine Variable in der Shell und fuehre das Skript aus, danach exportiere ich die Variable und fuehre erneut das Skript aus. Beachte den Unterschied in der Ausgabe: $> VARIABLE=42 $> echo $VARIABLE 42 $> ./skript.sh $> export VARIABLE $> ./skript.sh 42 $> Nur im zweiten Fall hat das Skript auch etwas vom Setzen der Variablen mitbekommen, wie oben erklaert. Ohne genauere Angaben Deinerseits kann man fast nur Vermutungen anstellen, was Du falsch gemacht hast - Du gibst leider keine Details preis, wie genau Du vorgegangen bist, wie die Eintraege in profile.local aussehen, wie das Skript aussieht, wie Du es startest, etc. Bei Eintraegen in cron ist mit Variablen und Skripten uebrigens besondere Vorsicht geboten... Cheers, Th.