Discussion:
Pfad ergänzen
(zu alt für eine Antwort)
Friedhelm Waitzmann
2019-11-22 12:14:09 UTC
Permalink
Das Thema passt besser in de.comp.os.unix.shell. Deshalb
Cross‐Post dorthin und Follow‐ups ebenfalls.
Unter opensuse 15.1 ist in ~/.bashrc die Zeile
PATH=$PATH:/usr/local/skripte
echo $PATH
/usr/local/texlive/2019/bin/x86_64-linux:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin
Was mache ich da falsch?
Änderungen in ~/.bashrc wirken nicht magisch sondern nur auf
zukünftig gestartete bash‐Instanzen, weil das bash diese Datei bei
seinem Start abarbeitet, später nicht mehr.

Also: Startest Du ein neues bash, z.B.

$ bash

dann hat diese Instanz dieses neu hinzugefügte Verzeichnis in
seinem $PATH. Alle anderen schon vor der Dateiänderung
gestarteten haben das nicht. Auch wenn Du Dich neu am System
anmeldest, hast Du eine neue bash‐Instanz.

Zur Frage, wann das bash welche Initialisierungsdatei abarbeitet,
kannst Du in der Handbuchseite

$ man bash

nachlesen. Suche dort nach einem Abschnitt »INVOCATION«.



Friedhelm
Stefan Kanthak
2019-11-22 12:43:26 UTC
Permalink
"Friedhelm Waitzmann" <***@spamgourmet.com> schrieb:

Die Kombination
| Content-Type: text/plain; charset=UTF-8
| Content-Transfer-Encoding: quoted-printable
ist noch immer PERVERS: UTF-7 existiert!

[...]
Post by Friedhelm Waitzmann
Zur Frage, wann das bash welche Initialisierungsdatei abarbeitet,
kannst Du in der Handbuchseite
$ man bash
nachlesen. Suche dort nach einem Abschnitt »INVOCATION«.
Steht dort auch, WIE bash die Dateien aufruft?
Es gibt da einen kleinen Unterschied zwischen . alias source und
"normalem" Aufruf die Behandlung von (lokalen) Variablen betreffend.

Stefan
Friedhelm Waitzmann
2019-11-23 00:34:24 UTC
Permalink
Post by Stefan Kanthak
Post by Friedhelm Waitzmann
Zur Frage, wann das bash welche Initialisierungsdatei abarbeitet,
kannst Du in der Handbuchseite
$ man bash
nachlesen. Suche dort nach einem Abschnitt »INVOCATION«.
Steht dort auch, WIE bash die Dateien aufruft?
Es heißt »liest Befehle aus den Dateien /etc/bash.bashrc und
~/.bashrc und führt sie aus«. Von einem Aufruf steht nichts da.
Post by Stefan Kanthak
Es gibt da einen kleinen Unterschied zwischen . alias source und
"normalem" Aufruf die Behandlung von (lokalen) Variablen
betreffend.
Was verstehst Du unter einem »normalen Aufruf«?



Friedhelm
Stefan Kanthak
2019-11-23 08:14:43 UTC
Permalink
[ $ man bash ... INVOCATION ]
Post by Friedhelm Waitzmann
Post by Stefan Kanthak
Steht dort auch, WIE bash die Dateien aufruft?
Es heißt »liest Befehle aus den Dateien /etc/bash.bashrc und
~/.bashrc und führt sie aus«. Von einem Aufruf steht nichts da.
Post by Stefan Kanthak
Es gibt da einen kleinen Unterschied zwischen . alias source und
"normalem" Aufruf die Behandlung von (lokalen) Variablen
betreffend.
Was verstehst Du unter einem »normalen Aufruf«?
Den Aufruf ohne . bzw. source vor dem Dateinamen des Skripts.

Stefan
Friedhelm Waitzmann
2019-11-30 02:08:35 UTC
Permalink
Post by Stefan Kanthak
Post by Friedhelm Waitzmann
Post by Stefan Kanthak
Steht dort auch, WIE bash die Dateien aufruft?
Es heißt »liest Befehle aus den Dateien /etc/bash.bashrc und
~/.bashrc und führt sie aus«. Von einem Aufruf steht nichts da.
Post by Stefan Kanthak
Es gibt da einen kleinen Unterschied zwischen . alias source und
"normalem" Aufruf die Behandlung von (lokalen) Variablen
betreffend.
Was verstehst Du unter einem »normalen Aufruf«?
Den Aufruf ohne . bzw. source vor dem Dateinamen des Skripts.
Also, Starten eines Programms (im Fall eines Shell‐Scripts: eines
Shells mit diesem Shell‐Script als Parameter) in einem
Unterprozess. Das kann natürlich keine Rückwirkung auf einen
anderen Prozess haben.



Friedhelm

Loading...