Hallo Experten, ich als Newbie verstehe eins nicht ganz. Per >PATH=$PATH:/usr/local/samba/bin< kann ich den Pfad für meine Samba Daemons an die vorhandene Pfadvariable anhängen bzw. mit
PATH=/usr/local/samba/bin;$PATH< voranstellen! Richtig? Reihenfolge ist z.T. entscheidend dar auch Suchreihenfolge.
Mit >export PATH< kann ich das ganze das dann SubShells vererben. Aber wenn ich mich -egal ob an /dev/ttyx oder per ssh (Putty)- wieder ab und anmelde, dann ich der zusätzliche Pfad aus der Pfadvariablen verschwunden. Warum? und wie kann ich den Pfad dauerhaft hinzufügen. Vielen Dank für Eure Hilfe Gruss Peter Meyer -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
On 11 Sep 2002 at 11:29, Peter Meyer wrote:
Hallo Experten,
ich als Newbie verstehe eins nicht ganz.
Per >PATH=$PATH:/usr/local/samba/bin< kann ich den Pfad für meine Samba Daemons an die vorhandene Pfadvariable anhängen bzw. mit
PATH=/usr/local/samba/bin;$PATH< voranstellen! Richtig? Reihenfolge ist z.T. entscheidend dar auch Suchreihenfolge.
Mit >export PATH< kann ich das ganze das dann SubShells vererben.
Aber wenn ich mich -egal ob an /dev/ttyx oder per ssh (Putty)- wieder ab und anmelde, dann ich der zusätzliche Pfad aus der Pfadvariablen verschwunden. Warum? und wie kann ich den Pfad dauerhaft hinzufügen.
/etc/profile (besser: /etc/profile.local) systemweit für alle Benutzer $HOME/.profile order (bei SuSE) $HOME/.bashrc für einen Benutzer. Andreas PS: Lies dir mal in Ruhe "man bash" durch. Da steht (u.a.) ganz genau drin, welche Dateien von der Shell wann ausgeführt werden
* Peter Meyer schrieb am 11.Sep.2002:
Per >PATH=$PATH:/usr/local/samba/bin< kann ich den Pfad für meine Samba Daemons an die vorhandene Pfadvariable anhängen bzw. mit
PATH=/usr/local/samba/bin;$PATH< voranstellen! Richtig? Reihenfolge
Fast. Die Syntax des Pfades ist Pfad1:Pfad2:Pfad3:...:PfadN Richtig wäre somit PATH=/usr/local/samba/bin:$PATH Also : anstelle von : Ganz allgemein gilt: foo=bar$baz hängt an der Zeichenkette "bar" den Inhalt der Variablen $baz an und ordnet es der Variablen $foo zu.
ist z.T. entscheidend dar auch Suchreihenfolge.
Richtig. bei Befehlen, ohne Pfadangaben wird im Pfad gesucht. Und zwar wird mit dem ersten Pfad begonnen. Wenn dort nichts passendes gefunden wird, kommt der zweite Pfad dran usw. Sobald ein passender Befehl gefunden wurde, wird er genommen. Somit kommt es auf die Reienfolge an.
Mit >export PATH< kann ich das ganze das dann SubShells vererben.
Richtig.
Aber wenn ich mich -egal ob an /dev/ttyx oder per ssh (Putty)- wieder ab und anmelde, dann ich der zusätzliche Pfad aus der Pfadvariablen verschwunden. Warum? und wie kann ich den Pfad dauerhaft hinzufügen.
Gar nicht. Das hat nichts mit der besonderen Bedeutung der Variablen $PATH zu tun, sondern gilt für alle Umgebungsvariablen. Die Umgebungsvariable werden an alle Kindprozesse übergeben. So wie sie sind. Der Kindprozeß kann die Umgebungsvariable lesen und auch verändern. Aber von einer Veränderung bekommt der Elterprozeß nichts mit. Auch nicht, wenn das Kind eine neue Umgebungsvariable definiert. Ein nicht verwandter Prozeß erst Recht nicht. Was Du aber machen kanst, ist die Pfaderweiterung in /etc/profile.local oder im ~/.bashrc zu schreiben. Diese Skripte werden von der Shell als erstes ausgewertet und dann hat jede shell, die Du hast den Pfad, so wie Du ihm willst. /etc/profile.local gilt für alle User, ~/.bashrc nur für den User, dessen Homeverzeichnis ~ ist. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
participants (3)
-
Andreas Kyek
-
B.Brodesser@t-online.de
-
Peter Meyer