LMU - Das Hilfe Forum für Linux Mint

Software => Shell-Programmierung und Scripting => Thema gestartet von: John.Miller am 26.03.2021, 20:10:42

Titel: bash, Datei die ein Verzeichnis höher liegt einbinden
Beitrag von: John.Miller am 26.03.2021, 20:10:42
Ich habe in der folgenden Weise in ein bash Script eine Datei ein gebunden, die von der bash Datei so wie es ist, erfolgreich verwendet wird.
source funktionen.txt
Nun habe ich die Datei "funktionen.txt" im Verzeichnisbaum, in eine Verzeichnis höher verschoben und möchte die Datei mit einer passend angepaßten Einbindung. weiterhin einbinden. Die folgende Variante scheint so nicht zu funktionieren:
source ./funktionen.txt
Doch wie macht man das ohne den Pfad der aufrufenden bash Datei z.B. per cd mit zu verbiegen ?
 
Titel: Re: bast, Datei die ein Verzeichnis höher liegt einbinden
Beitrag von: toffifee am 26.03.2021, 20:15:10
./ steht für das aktuelle Verzeichnis! Du könntest den absoluten Pfad angeben z.B.!
Frage ist auch, warum du die Verschiebung in eine höhere Ebene überhaupt machst?
Titel: Re: bast, Datei die ein Verzeichnis höher liegt einbinden
Beitrag von: John.Miller am 26.03.2021, 21:00:29
./ steht für das aktuelle Verzeichnis! Du könntest den absoluten Pfad angeben z.B.!
Frage ist auch, warum du die Verschiebung in eine höhere Ebene überhaupt machst?
Ich habe mehrere kleine Projekte, die in einer Teilmenge identische Dateien verwenden. Die ich versuchen will nach Möglichkeit nicht mehr mehrfach zu haben.

Also, ich habe z.B. einen Ordner 00, in dem drei Projekte in je einem eigenem Ordner ( 01, 02, 03) liegen. Dateien mit die von den Projekten 01, 02 und 03 verwendet werden und identischen Inhalt haben, will ich versuchen zukünftig nicht mehr in jedem Projektordner zu haben, sondern nur noch einmal in dem in diesem Fall eine Ebene höher liegenden Ordner 00.
Titel: Re: bast, Datei die ein Verzeichnis höher liegt einbinden
Beitrag von: aexe am 26.03.2021, 21:34:58
Off-Topic:
bast, Datei die ein Verzeichnis höher liegt einbinden
"Bast" ist für anderer Bastelarbeiten geeignet.
Zum Einbinden von Verzeichnissen würde ich das nicht verwenden.  :D
Titel: Re: bash, Datei die ein Verzeichnis höher liegt einbinden
Beitrag von: John.Miller am 26.03.2021, 23:43:18
source ../funktionen.txt
Code: [Auswählen]
source ../funktionen.txt

Das habe ich testweise in einer Hand voll Dateien umgesetzt und es scheint zu funktionieren.

Das "Verbiegen" kommt daher, das ich an einer anderen Stell eine Zeit lang per cd .. den Pfad gewechselt habe, dann etwas aufgerufen und um die für das Script dann geänderte Verzeichniszuweisung wieder rückgängig zu machen, das dann wieder per cd zurück gedreht habe. Dabei hätte ich wie von dir im Beispiel gezeigt, den Aufruf per ../aufzurufende_date.endung, das auch etwas direkter machen können.

Besten Dank. Manchmal komme ich selbst auf naheliegende Lösungen nicht. Aber das Beschäftigen mit dem Thema macht Spaaß und das ist doch auch schon etwas.