ubuntuusers.de

~/.bash_profile: PATH setzen

Status: Gelöst | Ubuntu-Version: Ubuntu 7.04 (Feisty Fawn)
Antworten |

rooster77

Avatar von rooster77

Anmeldungsdatum:
26. April 2006

Beiträge: 150

Wohnort: Köln

Hallo allesamt,

ich habe Probleme mit dem dauerhaften Hinzufügen eines Verzeichnisses zur PATH-Variable.
Ich wollte das in ~/.bash_profile machen (so Sachen mach' ich lieber bei mir im Home-Verzeichnis...)
Meine ~/.bash-profile sieht so aus:

# ~/.bash_profile: executed by bash(1) for login shells.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/login.defs
#umask 022

# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# set PATH so it includes user's private bin if it exists
if [ -d ~/.bin ] ; then
    PATH=~/.bin:"${PATH}"
fi


Die war auch schon defaultmässig so, die einzige Änderung ist, dass ich ~/.bin statt ~/bin benutze.
Ein Verzeichnis ~/.bin existiert auch, nur taucht das nach einem Neustart nicht in PATH auf.
Was läuft da schief?

Danke schon mal,
Gruß
rooster

Der_Gestreifte

Avatar von Der_Gestreifte

Anmeldungsdatum:
21. Juni 2007

Beiträge: 1261

Wohnort: Nürnberg

Schau mal nach, ob in der ~/.bashrc der Pfad evtl nochmal gesetzt wird.

comm_a_nder

Avatar von comm_a_nder

Anmeldungsdatum:
5. Februar 2006

Beiträge: 2533

Wohnort: Dresden

~/.bash_profile wird nur eingelesen bei einer login-shell.

rooster77

(Themenstarter)
Avatar von rooster77

Anmeldungsdatum:
26. April 2006

Beiträge: 150

Wohnort: Köln

Danke für die Antworten!

Ich bin ein wenig verwirrt;
wenn ich den Wiki-Artikel Umgebungsvariablen und mein System richtig vestehe, gibt es potentiell folgende Files, in denen PATH gesetzt werden kann:

home:
~/.bashrc
~/.bash_profile
~/.profile

root:
/etc/bash.bashrc
/etc/profile
/etc/environment
/etc/X11/Xsessions.d/90environment

~/.profile und /etc/X11/Xsessions.d/90environment gibt's bei mir nicht (hab' ich nicht angelegt), und die einzigen Files, in denen PATH bei mir überhaupt auftaucht, sind ~/.bash_profile und /etc/environment.
Nun könnte ich PATH ja einfach in /etc/environment ändern, mach' ich aber ungern, da ich persönliche Einstellungen gern im home-Verzeichnis habe (da weiss ich wenigstens welche Änderungen von mir sind...)
Da ~/.bash_profile anscheinend nur bei der Login-shell zum Einsatz kommt und ~/.profile laut Wiki dank meiner existierenden ~/.bash_profile ignoriert werden würde, bleibt ja eigentlich nur ~/.bashrc.

Ich versuch's mal:
rooster

rooster77

(Themenstarter)
Avatar von rooster77

Anmeldungsdatum:
26. April 2006

Beiträge: 150

Wohnort: Köln

Okay, ich hab's jetzt.
Klappt alles wunderbar, wenn ich PATH in die ~/.bashrc eintrage.
Ein Eintrag in ~/.profile tut's auch; ich habe da wohl den Wiki-Artikel falsch interpretiert:

Achtung: Existiert eine Datei ~/.bash_profile, so wird ~/.profile von der Bash (Standard-Shell) ignoriert.

Das heisst anscheinend, dass etwaige Einträge in ~/.profile durch die entsprechenden Einträge in ~/.bash_profile überschrieben werden und nicht (so wie ich das verstanden habe), dass die komplette ~/.profile ignoriert wird (im sinne von "nicht berücksichtigt"), wenn die ~/.bash_profile existiert.

Gruß,
rooster

Martin_Feck

Anmeldungsdatum:
29. April 2008

Beiträge: 41

Wohnort: Wrestedt

rooster77 schrieb:

Okay, ich hab's jetzt.
Klappt alles wunderbar, wenn ich PATH in die ~/.bashrc eintrage.
Ein Eintrag in ~/.profile tut's auch; ich habe da wohl den Wiki-Artikel falsch interpretiert:

Achtung: Existiert eine Datei ~/.bash_profile, so wird ~/.profile von der Bash (Standard-Shell) ignoriert.

Das heisst anscheinend, dass etwaige Einträge in ~/.profile durch die entsprechenden Einträge in ~/.bash_profile überschrieben werden und nicht (so wie ich das verstanden habe), dass die komplette ~/.profile ignoriert wird (im sinne von "nicht berücksichtigt"), wenn die ~/.bash_profile existiert.

Gruß,
rooster

Hallo rooster77,

ich habe ein Problem damit, meinem System (Ubuntu 9.10) mitzuteilen, wi der Pfad zur Installion von Texlive 2009 ist. Bin blutiger Laie in Linux und fukel einige Tage rum, bekomme es nicht gebacken. Im Netz habe ich folgendes gefunden (geändert von mir um die richtige Lokalisation anzugeben): PATH=$PATH:$HOME/bin:HOME/texlive/2009/bin/i386-linux MANPATH=$MANPATH:$HOME/man:/HOME/texlive/2009/texmf/doc/man INFOPATH=$INFOPATH:$HOME/texlive/2009/texmf/doc/info export PATH export MANPATH export INFOPATH

Wo müssen diese Angeben rein? Habe sie einfach in .profile eingefügt, läuft aber nicht, Linux findet Texlive 2009 nicht. Kannst du mir netterweise helfen? Wie gesagt, habe NULL Ahnung.

Vielen Dank

Martin

PS.: Ein frohes und glückliches Neues Jahr wünsche ich dir und allen Foris

rooster77

(Themenstarter)
Avatar von rooster77

Anmeldungsdatum:
26. April 2006

Beiträge: 150

Wohnort: Köln

Hallo Martin!

Dir auch ein frohes neues Jahr... Mein letztes Ubuntu war 7.10, ich bin vor zwei Jahren berufsbedingt auf OSX umgestiegen (freiwillig hätte ich das wohl nicht gemacht 😉). Zwei Jahre sind in der Linux-Welt eine Ewigkeit, seitdem sind schon 4 (?) neue Ubuntu-Versionen rausgekommen - da ich mich mit dem aktuellen System nicht auskenne, kann ich dazu leider auch keine genauen Hilfestellungen leisten.

Was Du veruchen könntest: Im Wiki nachlesen: Umgebungsvariable und Bash/bashrc. Wenn ich das richtig verstehe, ist das immer noch so dass sowohl die .bashrc als auch das .bash_profile die Einstellungen aus .profile überschreiben. Wenn Du also entweder ein File .bashrc oder ein File .bash_profile hast, dann würde ich die PATH-Angaben da rein schreiben.

Als erstes würde ich aber

1
echo $PATH

ausprobieren - wenn dann Deine Angaben da auftauchen (also HOME/texlive/2009/bin/i386-linux) liegt es nicht daran, dass Deine .profile nicht funktioniert - in dem Fall läuft was anderes schief.

LG, rooster77

Martin_Feck

Anmeldungsdatum:
29. April 2008

Beiträge: 41

Wohnort: Wrestedt

rooster77 schrieb:

Hallo Martin!

Dir auch ein frohes neues Jahr... Mein letztes Ubuntu war 7.10, ich bin vor zwei Jahren berufsbedingt auf OSX umgestiegen (freiwillig hätte ich das wohl nicht gemacht 😉). Zwei Jahre sind in der Linux-Welt eine Ewigkeit, seitdem sind schon 4 (?) neue Ubuntu-Versionen rausgekommen - da ich mich mit dem aktuellen System nicht auskenne, kann ich dazu leider auch keine genauen Hilfestellungen leisten.

Was Du veruchen könntest: Im Wiki nachlesen: Umgebungsvariable und Bash/bashrc. Wenn ich das richtig verstehe, ist das immer noch so dass sowohl die .bashrc als auch das .bash_profile die Einstellungen aus .profile überschreiben. Wenn Du also entweder ein File .bashrc oder ein File .bash_profile hast, dann würde ich die PATH-Angaben da rein schreiben.

Als erstes würde ich aber

1
echo $PATH

ausprobieren - wenn dann Deine Angaben da auftauchen (also HOME/texlive/2009/bin/i386-linux) liegt es nicht daran, dass Deine .profile nicht funktioniert - in dem Fall läuft was anderes schief.

LG, rooster77

Hallo rooster77,

vielen Dank für deine Antwort. Habe folgenden Ausdruck erhalten:

************************************* martin@martin-desktop:~$ 1 1: command not found martin@martin-desktop:~$ martin@martin-desktop:~$ martin@martin-desktop:~$ martin@martin-desktop:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/martin/bin:HOME/texlive/2009/bin/i386-linux **************************************

Warum findet das System nicht die neue Texlive 2009 Installation? Hast du eine Idee? Bei Eingabe von *********** tex --version *************************************

erscheint folgendes:

************************************ martin@martin-desktop:~$ tex --version TeX 3.141592 (Web2C 7.5.6) kpathsea version 3.5.6 Copyright 2007 D.E. Knuth. Kpathsea is copyright 2007 Karl Berry and Olaf Weber. There is NO warranty. Redistribution of this software is covered by the terms of both the TeX copyright and the Lesser GNU General Public License. For more information about these matters, see the file named COPYING and the TeX source. Primary author of TeX: D.E. Knuth. Kpathsea written by Karl Berry, Olaf Weber, and others. **************************************************** erscheinen müsste aber:

***************************************************** TeX 3.1415926 (TeX Live 2009) kpathsea version 5.0.0 Copyright 2009 D.E. Knuth. ******************************************************

Hm, habe das Sytem dreimal neu draufgemacht ... Texlive 2009 noch öfter...

Hast du eine Idee?

Lieben Gruß

Martin

rooster77

(Themenstarter)
Avatar von rooster77

Anmeldungsdatum:
26. April 2006

Beiträge: 150

Wohnort: Köln

Hi Martin,

laut Deinem Output von echo $PATH scheint mit Deinen PATH-Angaben alles in Ordnung zu sein. Woran es also liegt kann ich nicht sagen - bis auf dass Dein System die neue Installation von TeX Live anscheinend nicht findet.

Habe noch diesen Blogeintrag zur Installation von TeX Live gefunden - vielleicht hilft Dir das weiter. Ansonsten würde ich einen neuen Thread im Forum aufmachen - Dein Problem ist ja eher die Installation von TeX Live als das Setzen der PATH-Variable...

Gruß, rooster77

Antworten |