Re: Environmentvariablen

From: Joerg Wunsch <j(at)uriah.heep.sax.de>
Date: Mon, 9 Jul 2001 20:40:10 +0200

As Peter Ross wrote:

> es gibt bei uns den Bedarf an EINEM Konfigurationsfile fuer
> Environmentvariablen, welches immer funktioniert, egal wie und wo man ein
> Programm ausfuehrt (sh, csh, tcsh, perl, cron, eingeloggt via Telnet oder
> rlogin oder ssh ..).

Geht gar nicht. Plain sh (bzw. ksh) kann keine
Initialisierungsdateien ausführen, wenn sie nicht interaktiv gestartet
wird. Das ist ein Bug^H^H^HFeature dieser Shells, man hat trotz eines
seit Jahren funktionierenden .{csh,bash}rc Mechanismus in der ksh und
damit dann in der Posix-Shell eine Krücke wie $ENV erfunden, die
mittlerweile auch nur noch für interaktive Shells bewertet wird (da
sie ansonsten Sicherheitsprobleme verursachen konnte).

Bedank Dich bei Dave Korn.

> login.conf ist ja schon ganz schoen, aber tut nicht alles (z.B. haben via
> cron gestartete perl-Skripte nichts davon).

Warum eigentlich nicht? Entgegen dem Namen sollten Login-Klassen auch
für nichtinteraktive Arbeit ausgeführt werden.

> Erschwerend kommt noch dazu, dass ich das eigentlich fuer FreeBSD,
> Debian Linux und Solaris brauche.

Auch das noch. :)

> Kann mir jemand einen Tip geben, wie ich den Aufwand minimieren kann?

Du kannst einen Wrapper schreiben, der mit eval in den
Shell-Init-Dateien eingebunden werden kann und dann das Richtige tut:

eval `local-env-setup`

Der müßte dann $SHELL auswerten um zu entscheiden, ob er csh- oder
sh-Semantik ausspucken soll.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL
http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 09 Jul 2001 - 20:51:20 CEST

search this site