Was ich tun möchte, ist, Einstellungen aus einer Datei in meine aktuelle interaktive Bash-Shell wie folgt aufzunehmen:Wie kann ein Bash-Skript das Verzeichnis kennen, in dem es installiert ist, wenn es stammt? Operator?
$. /path/to/some/dir/.settings
Das Problem ist, dass das .settings-Skript auch das "." Operator, um andere Dateien wie folgt einzuschließen:
. .extra_settings
Wie referenziere ich den relativen Pfad für .Extra_settings in der Datei .settings? Diese beiden Dateien werden immer im selben Verzeichnis gespeichert, aber der Pfad zu diesem Verzeichnis hängt davon ab, wo diese Dateien installiert wurden.
Der Operator kennt immer/path/to/some/dir/wie oben gezeigt. Wie kann die .settings-Datei das Verzeichnis kennen, in dem es installiert ist? Ich hätte lieber keinen Installationsprozess, der den Namen des installierten Verzeichnisses aufzeichnet.
Perfekt. $ (dirname "$ BASH_SOURCE") ist genau das was ich gesucht habe. Für meinen Zweck interessieren mich Symlinks nicht so sehr. Danke an alle, die geantwortet haben. Wirklich gute Antworten hier. – Gary
Zum Auflösen von Symlinks können Sie einfach folgendes tun: 'dir = $ (dirname $ (readlink -f" $ BASH_SOURCE "))' –