Änderung an Umgebungsvariable verfällt nach Neustart

H

Hanno

Neues Mitglied
Thread Starter
Dabei seit
06.03.2003
Beiträge
6
Reaktionspunkte
0
Servus!

Ich habe versucht einen Eintrag zur PATH-Variable hinzugefügt, und zwar so:

setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/Applications/apache-ant-1.6.1/bin


Klappt auch alles wunderbar, nur nach einem Neustart ist mein neuer Eintrag weg, die Variable sieht wieder aus wie vorher.
Woran kann das liegen?
Wäre nett wenn mir jemand helfen könnte.

MfG

Hanno
 
So setzt du die Umgebungsvariable ja auch nur für die aktuelle Shell-Session.
Je nachdem, welche Shell du nutzt, kannst du dir eine .bashrc oder eine .tcshrc anlegen, in der du den Pfad definierst.

ad
 
Wow, das ging ja schnell!

Vielen Dank für die Antwort, ich werde diese Spur mal weiterverfolgen wenn ich Zeit habe.
 
Systemweit gehts auch über die /etc/profile

gruß
 
Also, ich habe versucht /etc/profile zu editieren, allerdings ist diese Datei schreibgeschützt, und es ist mir nicht gelungen das zu ändern.
Zuerst habe ich versucht mit chmod was zu machen, allerdings verstehe ich nicht ganz wie das Programm funktioniert (und habe im Moment nicht die Geduld mich einzuarbeiten) und habe auch etwas Angst Schaden anzurichten.
Mich als root anzumelden und es so zu versuchen hat auch nicht geklappt (wenn ich einen Editor starten will erzählt mir das Terminal was von nicht gefundenen Datenbanken).

Wo müsste ich denn die .tcshrc anlegen und was muss da rein?
Der setenv-Befehl?
 
Die Konfigurationsdateien liegen in Deinem Benutzerordner (oberste Ebene).
Wenn Du wenig Ahnung hast, rate ich nicht die /etc/...-Dateien zu verändern.
Ist auch selten notwendig (nur in größeren Mehrbenutzerumgebungen)

Welche Shell verwendest Du denn ?
 
Meinst du mit Benutzerordner meinen eigenen Ordner im Users-Verzeichnis?
Dort befindet sich nichts dergleichen, muss ich dir Datei also dort anlegen?

Ich benutze die tcsh.
 
Ja , den mein´ ich.
Dort gehört sie hin.
In dieser Datei kannst Du auch Deine Shell Aliasse hinlegen etc.
Ein Blick ins Manual der von Dir vewendeten Shell kann auch nicht schaden.
Da steht alles drin.
 
Wenn die entsprechenden Dateien nicht existieren kannst du diese anlegen und die nötigen Informationen hineinschreiben.
Bei der .bashrc musst du allerdings
export PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/Applications/apache-ant-1.6.1/bin"
eingeben. Unter MAC OS X 10.3.3 - 10.3.4 ist bash die Standartshell.


- Thomas
 
wenn die verwendete Shell die Bash ist, würde ich den Befehl in die ~/.bash_profile schreiben.

Warum ?
Weil die Datei ~./bashrc AFAIK nicht von einer login-Shell gelesen wird.

Anstelle von "export" kann man auch die o. g. Datei in der .bashrc "sourcen".
Das macht man mit der Zeile:
. ~/.bash_profile
Das bewirkt, dass die gesamte .bash_profile in allen -nologin-Shells eingelesen wird.
Kann u. U. ein wenig Arbeit sparen.
 
Original geschrieben von maceis
wenn die verwendete Shell die Bash ist, würde ich den Befehl in die ~/.bash_profile schreiben.

Warum ?
Weil die Datei ~./bashrc AFAIK nicht von einer login-Shell gelesen wird.

Anstelle von "export" kann man auch die o. g. Datei in der .bashrc "sourcen".
Das macht man mit der Zeile:
. ~/.bash_profile
Das bewirkt, dass die gesamte .bash_profile in allen -nologin-Shells eingelesen wird.
Kann u. U. ein wenig Arbeit sparen.
 

Aha danke für den Tip hab ich nicht gewust.

- Thomas
 
Sorry, aber ich bekomme es einfach nicht gebacken.
Ich bei Google gesucht und auch das manual auf tcsh.org konsultiert, aber da steht überall nur, dass man in der .tcshrc Umgebungsvariablen definieren kann. Es steht allerdings nirgends wie man das tut.
Ich habs mit setenv versucht, aber es funktioniert nicht.

Kann mir bitte jemand ganz konkret sagen wie die .tcshrc auszusehen hat?
 
Original geschrieben von Hanno
Sorry, aber ich bekomme es einfach nicht gebacken.
Ich bei Google gesucht und auch das manual auf tcsh.org konsultiert, aber da steht überall nur, dass man in der .tcshrc Umgebungsvariablen definieren kann. Es steht allerdings nirgends wie man das tut.
Ich habs mit setenv versucht, aber es funktioniert nicht.

Kann mir bitte jemand ganz konkret sagen wie die .tcshrc auszusehen hat?

Also erstmal:
Das Manual hast Du schon auf Deinem Mac. Einfach man tcsh eingeben. (Ist sehr lange, aber lohnt sich).
In diesem Fall dürfte Dich der Abschnitt "Startup and shutdown" interessieren.
Vielleicht möchtest Du Dir auch mal die Dateien in
/usr/share/tcsh/examples
ansehen und das README lesen (Lohnt sich!).

Zum Zweiten:
Überlege Dir, ob Du wirklich mit der tcsh arbeiten möchtest; sehr gute Alternativen sind bash (inzwischen Standard auf Mac OS X) und zsh (eher unbekannt, hat aber einige sehr interessante Features.)

Die Syntax der ~/.tcshrc ist exrem einfach.
Du schreibst einfach die Befehle rein, die ausgeführt werden sollen, wenn Du die Shell startest.
wenn bei längeren Befehlen die Parameter an bestimmten Stellen übergeben werden sollen, gibst Du an der entsprechenden Stelle !* ein.
Z. B.
alias ll "ls -lag !* | more"

Um die PATH Variable zu ergänzen würde ich es mal mit diesem Eintrag versuchen.
set PATH=$PATH\:/neuer_Pfad
 
Vielen Dank für die sehr informative Antwort!
Ich werde mir die bash mal anschauen.

Danke an alle für die Tips!
 
Zurück
Oben Unten