Archiv verlassen und diese Seite im Standarddesign anzeigen : $PATH ändern
Hallo
Ich habe ein Frage zur Reihefolge der Einträge in der
$PATH Variable:
mein Path sieht folgendermassen aus:
test@linux1:~> echo $PATH
/home/test/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/jvm/jre/bin
test@linux1:~>
ich hätte nun gern die Reihenfolge der Einträge geändert und gewisse
Einträge dazugefügt oder gelöscht.
Wie kann ich dass machen?
Die Einträge sollen zudem permanent erfolgen, d.h. beim nächsten Start
des Systems sollen die gemachten Aenderungen am Path weiterhin Bestand
haben.
Ich verwende SuSE 9.2 Prof.
Besten Dank im Voraus
Peter
ChandlerBing
01.04.05, 15:28
In /etc/profile stehen imho die Pfadeinträge, die für alle Nutzer gleich sind.
Jeder Nutzer hat dann noch seine eigene ~/.bashrc (non-login shell) bzw. ~/.bash_profile (login shell) in denen die individuellen Pfade eingestellt werden können.
Hallo tux-pet
Als kleine Ergänzung: vielleicht zwei Links die Dich weiter interessieren könnten:
www.linuxfibel.de
www.selflinux.org
Viel Freude damit ;)
MfG carnil
DrunkenFreak
02.04.05, 14:47
sollte die reihenfolge der einträge nicht egal sein? es wird doch meines wissens einfach überall nachgeguckt und wo was gefunden wird wird es auch benutzt oder nicht?
so long
sollte die reihenfolge der einträge nicht egal sein?Nein.
es wird doch meines wissens einfach überall nachgeguckt und wo was gefunden wird wird es auch benutzt oder nicht?Ja, in der angegebenen Reihenfolge. Deswegen setzt man /usr/local/* oder $HOME/bin
vor den System-Pfad, wenn man gleichnamige Befehle aus letzterem überschreiben will...
Gruss,
Wolfgang
Nein.
Ja, in der angegebenen Reihenfolge. Deswegen setzt man /usr/local/* oder $HOME/bin
vor den System-Pfad, wenn man gleichnamige Befehle aus letzterem überschreiben will...
Und in dieser Reihenfolge kann dieses "Überschreiben" zu der Problematik der Endlosschleife führen.
Beispiel:
Eigenes Skript mit namen "ls" in $HOME/bin benutzt das ls Kommando. Wenn in diesem selbst geschriebenen Skript nun kein exliziter PATH gesetzt ist oder absolute Pfade verwendet werden kracht's bei fork().
Deswegen habe ich zumindest $HOME/bin am Ende stehen und benutze soweit es geht beim "Überschreiben" Aliase (man bash, suchen nach alias).
Aber /usr/local/bin sollte schon vorne stehen...
Gruß
L00NIX
Hi L00NIX,
Und in dieser Reihenfolge kann dieses "Überschreiben" zu der Problematik der Endlosschleife führen.
Beispiel:
Eigenes Skript mit namen "ls" in $HOME/bin benutzt das ls Kommando. Wenn in diesem selbst geschriebenen Skript nun kein exliziter PATH gesetzt ist oder absolute Pfade verwendet werden kracht's bei fork().
Deswegen habe ich zumindest $HOME/bin am Ende stehen und benutze soweit es geht beim "Überschreiben" Aliase (man bash, suchen nach alias).
Aber /usr/local/bin sollte schon vorne stehen...
Natürlich ist ein "Überschreiben" von Standardtools immer mit Vorsicht
zu genießen, wie auch rekursive Aufrufe (die man auch bei Aliasen/Funktionen
im Kopf haben sollte).
In bestimmten Umgebungen (Shell-Accounts und damit verbunden, eigene
Programminstallationen unter $HOME/) ist das aber gängige Praxis, und Aliase
nicht immer anwendbar, z.B. wg. Vererbung in subshells.
Insofern stimme ich zu: besser wäre $HOME/bin am Ende des Pfades (was ich
privat auch so mache).
Gruss,
Wolfgang
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.