[Gelöst] Wie und wo Standardpath erweitern?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
ralli
Beiträge: 3919
Registriert: 02.03.2008 08:03:02

[Gelöst] Wie und wo Standardpath erweitern?

Beitrag von ralli » 29.11.2023 08:28:15

Hallo,

ich benutze noch ein Netbeans 8.2 Bundle mit jdk1.8.0_111, weil der Java DB (Derby Server und Embedded Standalone) dort bereits integriert sind. Insstalliert wird das Ganze automatisch ins Homeverzeichnis.

Wenn ich jetzt manuell ein Java Programm compiliere, muß ich vorher in der Konsole immer:

Code: Alles auswählen

export PATH=/home/ralph/jdk1.8.0_111/bin
eingeben. Das funktioniert, ist aber lästig. Wo und wie muß ich das eintragen, damit der Standardpath beim Booten das automatisch macht, also sozusagen den Path erweitert, damit ich aus jedem Verzeichnis in Home darauf zugreifen kann? Hab das mal in die .profile geschrieben, hat aber nichts gebracht, oder ich hab was verkehrt gemacht.

Danke, Gruß ralli
Zuletzt geändert von ralli am 29.11.2023 09:17:23, insgesamt 1-mal geändert.
Wer nicht lieben kann, muß hassen. Wer nicht aufbauen kann muß zerstören. Wer keine Brücken baut, muß spalten.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Wie und wo Standardpath erweitern?

Beitrag von MSfree » 29.11.2023 08:36:27

Du kannst den PATH in deine ~/.profile eintragen:

Code: Alles auswählen

PATH=/home/ralph/jdk1.8.0_111/bin;$PATH
nach ausloggen und wieder einloggen sollte der erweiterte PATH zur Verfügungn stehen.

Benutzeravatar
ralli
Beiträge: 3919
Registriert: 02.03.2008 08:03:02

Re: Wie und wo Standardpath erweitern?

Beitrag von ralli » 29.11.2023 08:46:38

Danke, hab ich gemacht, hat aber nicht geholfen.

Hier mal meine .profile:

Code: Alles auswählen

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# 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/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi

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

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

PATH=/home/ralph/jdk1.8.0_111/bin;$PATH
Irgendwas ist noch falsch!

Gruß ralli
Wer nicht lieben kann, muß hassen. Wer nicht aufbauen kann muß zerstören. Wer keine Brücken baut, muß spalten.

Benutzeravatar
ralli
Beiträge: 3919
Registriert: 02.03.2008 08:03:02

Re: Wie und wo Standardpath erweitern?

Beitrag von ralli » 29.11.2023 08:53:39

Hab jetzt

Code: Alles auswählen

export PATH=$PATH:/home/ralph/jdk1.8.0_111/bin
in die .bashrc eingetragen, jetzt funktioniert es. :mrgreen:

Gruß ralli
Wer nicht lieben kann, muß hassen. Wer nicht aufbauen kann muß zerstören. Wer keine Brücken baut, muß spalten.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Wie und wo Standardpath erweitern?

Beitrag von MSfree » 29.11.2023 09:08:12

ralli hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 08:53:39

Code: Alles auswählen

export PATH=$PATH:/home/ralph/jdk1.8.0_111/bin
in die .bashrc eingetragen, jetzt funktioniert es. :mrgreen:
Mein Fehler, Doppelpunkt statt Semikolon ist das korrekte Trennzeichen. :facepalm:

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: Wie und wo Standardpath erweitern?

Beitrag von tobo » 29.11.2023 10:06:47

MSfree hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 09:08:12
ralli hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 08:53:39

Code: Alles auswählen

export PATH=$PATH:/home/ralph/jdk1.8.0_111/bin
in die .bashrc eingetragen, jetzt funktioniert es. :mrgreen:
Mein Fehler, Doppelpunkt statt Semikolon ist das korrekte Trennzeichen. :facepalm:
Das wäre aufgefallen, wäre die ~/.profile beim Systemstart eingelesen worden.

Benutzeravatar
ralli
Beiträge: 3919
Registriert: 02.03.2008 08:03:02

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von ralli » 29.11.2023 10:49:06

Ehrlich gesagt, stehe ich mit der PATH Vaiable oft auf Kriegsfuß. Mal funktionierte es in der .profile, dann in der .basrc und ich hatte auch schon mal den export von PATH in der .xinitrc. Aber egal, jetzt funktionier es. Danke.

Gruß ralli
Wer nicht lieben kann, muß hassen. Wer nicht aufbauen kann muß zerstören. Wer keine Brücken baut, muß spalten.

juribel
Beiträge: 188
Registriert: 20.06.2023 10:17:01

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von juribel » 29.11.2023 11:16:22

Unter debian wird die .profile normalerweise gar nicht aufgerufen, sondern nur z. B. bei einer remote-Anmeldung über ssh. Die .bashrc ist also der richtige Ort für PATH und Co.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von MSfree » 29.11.2023 11:34:18

juribel hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 11:16:22
Unter debian wird die .profile normalerweise gar nicht aufgerufen, sondern nur z. B. bei einer remote-Anmeldung über ssh. Die .bashrc ist also der richtige Ort für PATH und Co.
Falsch.

.profile wird immer geladen, wenn man sich einlogt. .profile lädt zusätzlich die .bashrc, falls sie vorhanden ist.

Das einzige Mittel, das Laden von .profile zu verhindern, ist, wenn im HOME die Datei(en) .bash_profile oder .bash_login existieren, was in der Voreinstellung aber nich der Fall ist.

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von tobo » 29.11.2023 11:47:35

Die ~/.bashrc ist auch logisch der falsche Ort für eine system- oder benutzerweite Einstellung - wechsle ich die Shell, dann ist PATH weg.

juribel
Beiträge: 188
Registriert: 20.06.2023 10:17:01

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von juribel » 29.11.2023 12:01:21

Sieht bei mir auf einem frisch installierten debian 12 Livesystem mit Xfce nicht so aus. Hab in die .profile extra ein echo und read eingebaut, das funktioniert, wenn ich die .profile von Hand aufrufe, aber nicht beim Starten eines Terminals. Ich bin da schon im Sommer beim Umstieg von xubuntu auf debian darüber gestolpert, dort ist das nämlich anders. Ich kann leider nur nicht mehr sagen, wo ich das gelesen habe.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von JTH » 29.11.2023 12:05:51

juribel hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 12:01:21
aber nicht beim Starten eines Terminals.
Damit startet man normalerweise keine Login-Shell, sondern eine interaktive Nicht-Login-Shell. Die .profile wird aber von Login-Shells gelesen, interaktive (Bash-) Shells lesen nur die .bashrc.

Eine interaktive Login-Shell startest du zum Beispiel, wenn du mit Alt+Fx auf ein TTY wechselst und dich dort anmeldest.

In man bash unter INVOCATION ist das für die Bash ganz gut beschrieben, gilt aber – denke ich – für alle verwandten Shells identisch.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von MSfree » 29.11.2023 12:09:09

JTH hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 12:05:51
juribel hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 12:01:21
aber nicht beim Starten eines Terminals.
Damit startet man normalerweise keine Login-Shell
Richtig, aber

Code: Alles auswählen

xterm -ls
startet eine Login-Shell.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von JTH » 29.11.2023 12:11:08

Deshalb ja
MSfree hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 12:09:09
normalerweise

Anders geht es immer :wink:
Manchmal bekannt als Just (another) Terminal Hacker.

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: [Gelöst] Wie und wo Standardpath erweitern?

Beitrag von tobo » 29.11.2023 12:18:02

juribel hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 12:01:21
Hab in die .profile extra ein echo und read eingebaut, das funktioniert, wenn ich die .profile von Hand aufrufe, aber nicht beim Starten eines Terminals.
Wenn das Termianl seine Shell als Loginshell starten soll, dann ist dafür die Konfigurationsdatei des Terminals relevant, will man das nicht jedesmal händisch aufrufen. Exemplarisch z.B. für xterm/urxvt in ~/.Xresources:

Code: Alles auswählen

$ grep -i login .Xresources 
urxvt.loginShell: true
xterm.loginShell: true
$ 

Antworten