Hallo, kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ? Gruss, Marco Schwarz -- <
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Bei mir geschiet das in der .bash_profile ,----[ ~/.bash_profile ]- | # .bash_profile | | # Get the aliases and functions | if [ -f ~/.bashrc ]; then | . ~/.bashrc | fi | | # User specific environment and startup programs | | PATH=$PATH:$HOME/bin | BASH_ENV=$HOME/.bashrc | USERNAME="" | NNTPSERVER='mail.macbyte.local' | | export USERNAME BASH_ENV PATH NNTPSERVER | | export PATH | unset USERNAME `---- Bye Michael -- Allradantrieb bedeutet, dass man dort stecken bleibt, wo der Abschleppwagen nicht hinkommt. _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Bei mir geschiet das in der .bash_profile
Du nutzt aber kein SuSE...das ist sehr distributionsabhängig! ~/.bash_profile wird bei SuSE normalerweise nicht verwendet.
,----[ ~/.bash_profile ]- | # .bash_profile | | # Get the aliases and functions | if [ -f ~/.bashrc ]; then | . ~/.bashrc | fi | | # User specific environment and startup programs | | PATH=$PATH:$HOME/bin
Außerdem wird der Pfad hier nicht erstmals gesetzt, sondern nur noch mal modifiziert! Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
* Am 30. Aug. 2002 postete Christoph Maurer:
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Bei mir geschiet das in der .bash_profile
Du nutzt aber kein SuSE.
Korrekt. Ist das nun schlimm? ;) Ich oute mich mal. Noch nutze ich Red Hat 7.3. Und falls mein System abraucht, werde ich mein Glück mit LFS versuchen. ;)
Außerdem wird der Pfad hier nicht erstmals gesetzt, sondern nur noch mal modifiziert!
Das ist korrekt. Ich versuche alles Userspezifisch anzulegen. Ich will so wenig wie möglich als root rumhantieren. Path wird bei mir in der /etc/profile gesetzt. Bye Michael -- Linux is like a wigwam, no gates, no windows and an apache inside -- [Autor unbekannt] _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Christoph Maurer:
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Bei mir geschiet das in der .bash_profile
Du nutzt aber kein SuSE.
Korrekt. Ist das nun schlimm? ;)
Nein. Schlimm nicht, warum? Aber ich gehe mal davon aus, Marco tut es und ihm ist mit einer RH-Lösung nicht geholfen.
Ich oute mich mal. Noch nutze ich Red Hat 7.3. Und falls mein System abraucht, werde ich mein Glück mit LFS versuchen. ;)
Dazu ist mein Rechner zu langsam, da kompiliere ich Jahre...und die Zeit fehlt mir auch dafür. Ich habe mir, nachdem ich mich nicht entschließen konnte, meine alte, liebgewordene SuSE 7.0 durch ein neueres Produkt der gleichen Firma zu ersetzen, zusätzlich mal testweise Debian Woody installiert. Im Büro werde ich demnächst die 8.0 bekommen, dann schau ich mal, was mir besser gefällt.
Außerdem wird der Pfad hier nicht erstmals gesetzt, sondern nur noch mal modifiziert!
Das ist korrekt. Ich versuche alles Userspezifisch anzulegen. Ich will so wenig wie möglich als root rumhantieren. Path wird bei mir in der /etc/profile gesetzt.
Ja, aber eine Einstellung, die sowieso für alle Nutzer gelten soll, kann auch direkt systemweit gesetzt werden. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
* Am 30. Aug. 2002 postete Christoph Maurer:
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Christoph Maurer:
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Bei mir geschiet das in der .bash_profile
Du nutzt aber kein SuSE.
Korrekt. Ist das nun schlimm? ;)
Nein. Schlimm nicht, warum? Aber ich gehe mal davon aus, Marco tut es und ihm ist mit einer RH-Lösung nicht geholfen.
Da hast Du allerdings Recht. Sorry!
Ich oute mich mal. Noch nutze ich Red Hat 7.3. Und falls mein System abraucht, werde ich mein Glück mit LFS versuchen. ;)
Dazu ist mein Rechner zu langsam, da kompiliere ich Jahre...und die Zeit fehlt mir auch dafür.
Ich ziehe es ja auch nur in Betracht, weil man auf diesem Wege auch einiges lernt. Und ich bin nunmal Mutig. Seitdem ich Linux verwende, bin ich noch Mutiger geworden. Ich nutze sogar jetzt den Editor VI, obwohl ich mich zuanfangs tierisch dagegen gewehrt habe. ;) Aber jetzt muss ich feststellen, das es richtig Spass macht, mit VI zu arbeiten. Vor ein paar Wochen noch, hätte ich einem den Vogel gezeigt, wen mir einer gesagt hätte: "Auch Du benutzt bald VI". ;))
Ich habe mir, nachdem ich mich nicht entschließen konnte, meine alte, liebgewordene SuSE 7.0 durch ein neueres Produkt der gleichen Firma zu ersetzen, zusätzlich mal testweise Debian Woody installiert. Im Büro werde ich demnächst die 8.0 bekommen, dann schau ich mal, was mir besser gefällt.
Ich lege es ja auch nicht drauf an, mir mein System zu zerlegen, weil ich weiss, was es für eine Arbeit ist, es wieder auf Fordermann zu bekommen. Aber ich denke mir mal, das man sich immer neue Ziele setzen sollte, wenn man ein System beherrschen will. Und warum sollte man sich nicht sein System von der Pieke auf selbstbauen?
Außerdem wird der Pfad hier nicht erstmals gesetzt, sondern nur noch mal modifiziert!
Das ist korrekt. Ich versuche alles Userspezifisch anzulegen. Ich will so wenig wie möglich als root rumhantieren. Path wird bei mir in der /etc/profile gesetzt.
Ja, aber eine Einstellung, die sowieso für alle Nutzer gelten soll, kann auch direkt systemweit gesetzt werden.
Da hast Du Recht. Aber auf meinem Rechner arbeitet keine weitere Personen. Wenn mehrere Leute dran arbeiten würden, würde ich auch dementsprechend den Path Systemweit angepasst. Bye Michael -- Some Windows were made to be broken. _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
* Christoph Maurer schrieb am 30.Aug.2002:
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Bei mir geschiet das in der .bash_profile
Du nutzt aber kein SuSE...das ist sehr distributionsabhängig! ~/.bash_profile wird bei SuSE normalerweise nicht verwendet.
Die bash nutzt aber schon ~/.bash_profile, wenn es vorhanden ist. Man muß ja nicht die Dateien der Distribution verwenden. Grundsätzlich ist es so, daß man bei der bash zwichen einer Loginshell und einer normalen interaktiven shell unterscheiden muß. Eine Loginshell hat man z.B wenn man sich auf einer Konsole einloggt, nicht aber auf einem xterm, der KDE-Konsole oder sonst ein Terminalemulator auf X. Eine Loginshell führt zuerst /etc/profile aus, falls es diese Datei gibt, dann führt es die Datei ~/.bash_profile auf der Homedirectory aus, falls diese existiert. Nur wenn diese Datei, also ~/.bash_profile, nicht existiert, dann wird die Datei ~/.bash_login ausgeführt. Wenn diese auch nicht existiert, dann wird die Datei ~/.profile ausgeführt. Existiert diese Datei auch nicht, so wird nichts weiter ausgeführt. Bei einer normalen interaktiven shell hingegen, die keien Loginshell ist, wird nur die Datei ~/.bashrc ausgeführt, die sich im Homeverzeichnis des Users befindet. Auf diesen Hintergrund hat SuSE ihre Dateien entwickelt, und zwar so, daß ~/.bash_profile und ~/.bash_login nicht existieren und in ~/.profile als fast einzigen Befehl nur ~/.bashrc ausgeführt wird. In der ~/.bashrc wird /etc/profile aufgerufen, falls dies noch nicht geschehen ist und in /etc/profile wird /etc/profile.local aufgerufen, falls dieses existiert. So war es jedenfalls bei der 7.2 und frühere. AFAIK hat sich da was seit der 8.0 geändert, weiß aber leider nicht was. Am besten mal selber nachsehen. Die /etc/profile selber sollte nicht geändert werden, da sie beim nächsten update überschrieben wird. Für Änderungen die Systemweit gelten ist die /etc/profile.local zuständig. Evtl. muß diese Datei erst erzeugt werden und lesbar sein für alle. Will ein User was nur für sich ändern, so ist ~/.bashrc der richtige Ort.
Außerdem wird der Pfad hier nicht erstmals gesetzt, sondern nur noch mal modifiziert!
Zum ersten Mal gesetzt wird er allerdings auch von /etc/profile nicht. Das wird er schon von init. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
* Am 30. Aug. 2002 postete Bernd Brodesser:
* Christoph Maurer schrieb am 30.Aug.2002:
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Bei mir geschiet das in der .bash_profile
Du nutzt aber kein SuSE...das ist sehr distributionsabhängig! ~/.bash_profile wird bei SuSE normalerweise nicht verwendet.
Eine Loginshell führt zuerst /etc/profile aus, falls es diese Datei gibt, dann führt es die Datei ~/.bash_profile auf der Homedirectory aus, falls diese existiert. Nur wenn diese Datei, also ~/.bash_profile, nicht existiert, dann wird die Datei ~/.bash_login ausgeführt. Wenn diese auch nicht existiert, dann wird die Datei ~/.profile ausgeführt. Existiert diese Datei auch nicht, so wird nichts weiter ausgeführt.
Also haben diese Dateien unterschiedliche Prioritäten. Oder sucht die Bash nicht weiter, wenn eine der Dateien nicht gefunden wird?
Will ein User was nur für sich ändern, so ist ~/.bashrc der richtige Ort.
Die ist bei mir auch existent.
Außerdem wird der Pfad hier nicht erstmals gesetzt, sondern nur noch mal modifiziert!
Zum ersten Mal gesetzt wird er allerdings auch von /etc/profile nicht. Das wird er schon von init.
Ich wusel mich da schon ne ganze Zeit durch, um einen Überblick zu erhalten. Man lernt nie aus. ;) Bye Michael -- "Ich moechte Windows kaufen." "Sind Sie verrueckt?" "Gehoert das zu den Lizenzbedingungen?" _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
Am Fre, 2002-08-30 um 17.28 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Bernd Brodesser:
* Christoph Maurer schrieb am 30.Aug.2002:
Am Fre, 30 Aug 2002 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Marco Schwarz:
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Außerdem wird der Pfad hier nicht erstmals gesetzt, sondern nur noch mal modifiziert!
Zum ersten Mal gesetzt wird er allerdings auch von /etc/profile nicht. Das wird er schon von init.
Das ist nur in wenigen Fällen relevant (z.B. Init-Scripte). In den weitaus meisten Fällen wird der Pfad aus init von den Pfaden in /etc/login.defs überschrieben, danach erst kommen die Pfade aus den _unterschiedlichen_ Konfig-Dateien der _unterschiedlichen_ Shells. Vgl. man init und man login.defs
Ich wusel mich da schon ne ganze Zeit durch, um einen Überblick zu erhalten. Man lernt nie aus. ;) Dann probier mal eine andere Shell als die Bash aus. Am besten in einem heterogenen System ... dann gibt weder .bashrc noch .bash_profile und Du wirst erkennen müssen, dass beide keine gute Idee für allgemeine User-Setups sind (Überlicherweise kommt dann ~/.profile zum Einsatz).
Ralf
* Ralf Corsepius schrieb am 30.Aug.2002:
Am Fre, 2002-08-30 um 17.28 schrieb Michael Raab:
* Am 30. Aug. 2002 postete Bernd Brodesser:
Zum ersten Mal gesetzt wird er allerdings auch von /etc/profile nicht. Das wird er schon von init.
Das ist nur in wenigen Fällen relevant (z.B. Init-Scripte).
ACK Eigenartigerweise hat init selbst keinen PATH im Environment. Siehe /proc/1/environ. Wenn man in der inittab eine bash einträgt, so hat sie den PATH wie in man init angegeben. Die Dämonen, die von den initskripten gestartet wurden haben den PATH von /etc/login.defs
In den weitaus meisten Fällen wird der Pfad aus init von den Pfaden in /etc/login.defs überschrieben, danach erst kommen die Pfade aus den _unterschiedlichen_ Konfig-Dateien der _unterschiedlichen_ Shells.
Vgl. man init und man login.defs
Ich wusel mich da schon ne ganze Zeit durch, um einen Überblick zu erhalten. Man lernt nie aus. ;) Dann probier mal eine andere Shell als die Bash aus. Am besten in einem heterogenen System ... dann gibt weder .bashrc noch .bash_profile und Du wirst erkennen müssen, dass beide keine gute Idee für allgemeine User-Setups sind (Überlicherweise kommt dann ~/.profile zum Einsatz).
ACK. .bash_profile ist ja geschaffen worden, wenn man will, daß die bash sich anders verhält als etwa ksh. Was sicherlich nicht der Normalfall sein dürfte. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
* Michael Raab schrieb am 30.Aug.2002:
* Am 30. Aug. 2002 postete Bernd Brodesser:
Eine Loginshell führt zuerst /etc/profile aus, falls es diese Datei gibt, dann führt es die Datei ~/.bash_profile auf der Homedirectory aus, falls diese existiert. Nur wenn diese Datei, also ~/.bash_profile, nicht existiert, dann wird die Datei ~/.bash_login ausgeführt. Wenn diese auch nicht existiert, dann wird die Datei ~/.profile ausgeführt. Existiert diese Datei auch nicht, so wird nichts weiter ausgeführt.
Also haben diese Dateien unterschiedliche Prioritäten. Oder sucht die
Ja.
Bash nicht weiter, wenn eine der Dateien nicht gefunden wird?
Umgekehrt, sie sucht nicht weiter, wenn eine gefunden wurde. Es wird nur eine im Homeverzeichnis ausgeführt. Entweder ~/.bash_profile, oder wenn diese nicht existiert ~/.bash_login und wenn die auch nicht existiert dann ~/.profile. Sobald eine existiert, werden die nachfolgenden nicht ausgeführt. Unabhängig davon ist die /etc/profile, die wird immer ausgeführt, falls sie existiert. Und danache noch genau eine der drei Dateien in dem Homeverzeichnis. Es sei, es existiert gar keine. ~/.bash_profile und ~/.bash_login sind übrigens bashinterna, während /etc/profile und ~/.profile auch von anderen Shells beachtet werden. Allerdings auch nicht unbedingt von allen.
Zum ersten Mal gesetzt wird er allerdings auch von /etc/profile nicht. Das wird er schon von init.
Wird aber in /etc/profile normalerweise komplett überschrieben. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
* Am 30. Aug. 2002 postete Bernd Brodesser:
* Michael Raab schrieb am 30.Aug.2002:
* Am 30. Aug. 2002 postete Bernd Brodesser: Sucht die Bash nicht weiter, wenn eine der Dateien nicht gefunden wird?
Umgekehrt, sie sucht nicht weiter, wenn eine gefunden wurde.
Ja, so meinte ich es. Irgendwie bin ich durcheinander. ;) Ich bin hier voll am Basteln. ;) Bye Michael -- Um einen neuen Monitor zu erhalten, dort --->> [X] einen Nagel fest reinschlagen. _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
Am Fre, 30 Aug 2002 schrieb Marco Schwarz:
Hallo,
kann mir jemand sagen wo genau die PATH Variable gesetzt wird bzw. wie ich die Suchpfade ändern/ergänzen kann ?
Gesetzt wird sie in /etc/profile, dann an verschiedenen Stellen u.U. noch einmal modifiziert (/etc/profile.local, ~/.profile, ~/.bashrc). Prinzipiell kannst Du sie auch in diesen Dateien verändern, in /etc/profile.local, wenn's systemweit sein soll, in ~/.bashrc für den einzelnen Benutzer. Weiterhin solltest Du Dich mit dem Konzept auseinandersetzen, welche Shell welche Init-Files einliest...z.B. man bash ist da ein guter Ausgangspunkt. Da bei SuSE aber ~/.bashrc quasi immer eingelesen wird, ist es dort ganz gut untergebracht. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
participants (5)
-
B.Brodesser@t-online.de
-
Christoph Maurer
-
Marco Schwarz
-
Michael Raab
-
Ralf Corsepius