[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Unterschied zwischen "echo $PATH" und "env | grep $PATH"



Hallo,

Mag. Leonhard Landrock wrote:

> Heißt das somit, dass "env" immer nur die Variablen liefert, die auch 
> exportiert worden sind?

Eigentlich ist env dafür da, Programme zu starten und denen dabei eine
andere Umgebung (geänderte Variablen) mitzugeben. Wenn env 'einfach so'
gestartet wird, wird ausgegeben, welche Variablen für das zu startende
Programm gültig wären (siehe man 1 env). Insofern: Ja, das, was env
ausgibt, gilt auch für Programme, die Du in der Shell startest.

> Völlig offen ist für mich aber auch noch die Frage, wie den nun die normale 
> Einstellung (d.h. nach einer "kleinen" Installation) für die PATH-Variable 
> unter dem Konto "root" ist.

Hier auf einer neuen Sarge-Installation:

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin

> Frage: Sollte die PATH-Variable unter dem Konto "root" normalerweise 
> exporteirt werden?

Ja.

> Wenn ja, wo sollte das eingetragen sein?

Ich würde jetzt sagen, /etc/profile (Auszug):

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
fi

(Und hier komme ich ins Schwimmen, denn das stimmt nicht mit dem Überein,
was das 'echo $PATH' weiter oben zurückgegeben hat.)

Am besten selbst mal den Abschnitt 'INVOCATION' aus der manpage zu bash lesen. 

hth, Wolf
-- 
Büroschimpfwort des Tages: Süßigkeitenkistenverwalter - weisen Kollegen darauf 
hin, dass sie schon zweimal an der Box mit den Süßigkeiten im Labor oder Büro 
waren. (Jan Topel)



Reply to: