Veröffentlicht 25. Juli 200718 j Hi, ich grübel im Moment etwas an einem kleinen Problem. Ich hab ein bashscript erstellt, welches sich eine parameter aus einer configdatei holt, die im gleichen verzeichnis liegt (eingebunden mit "source pfadzurconfig"). das klappt soweit auch alles gut. Jetzt möchte ich den Pfad zu der config aber nicht fest setzen, sondern variabel halten. Wenn ich den Pfad zur config festsetze, kein Problem. Geht alles liegen das script und die config im gleichen verzeichnis und ich trage als source "source configfile" ohne den ganzen Pfad, dann kann ich das script nur ausführen, wenn ich mich im gleichen verzeichnis befinde wie das script. Ich würde das script aber gerne von einer beliebigen stelle aufrufen können, ohne die pfad zur config fest setzen zu müssen. kann man das irgendwie realisieren? Gruß
25. Juli 200718 j Spontan habe ich dazu zwei Ideen: Pfad zu der Konfigurationsdatei als Übergabeparameter angebenrelative Pfadangaben verwenden
25. Juli 200718 j Autor als übergabeparameter fällt leider weg. ich übergebe da schon recht viel. das würde es dann überladen
25. Juli 200718 j MYDIR=`echo $0|grep -o -E "[/]?.*/"` echo $MYDIR Das benutze ich in meinen Skripten um das Skriptverzeichnis zu bestimmen.
25. Juli 200718 j Warum so kompliziert. In $PWD steht doch das aktuelle Verzeichnis. Ah verdammt . Das geht natürlich nur wenn man das Programm aus dem aktuellen Ordner aufruft.
25. Juli 200718 j Naja, einfacher würde es noch gehen mit MYDIR=`dirname $0`/ Keine Ahnung warum ich das da so nicht gemacht hab. Aber kommt ja bei beiden dasselbe raus... EDIT: Aufpassen musst du nur, wenn du in deinem Skript Verzeichnisse wechselst oder dein Skript rekursiv aufrufst o.ä. Ich ruf das dann eben immer mit absoluten Pfaden auf... Aber einfach zum einbinden der Datei aus demselben Ordner sollte es ja gehen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.