2 Stimmen

Mehrere Init-Dateien für eine neue Bash-Sitzung

Ich schreibe gerade ein Skript, das eine neue Bash-Sitzung ausführt. Basierend auf einer gewissen Logik, findet es ein Init-Skript, das für die neue Shell verwendet werden soll. Ich frage mich, ob es eine gute Möglichkeit gibt, der neuen Bash-Sitzung mitzuteilen, dass sie das gefundene Init-Skript für die Initialisierung verwenden soll zusätzlich zu die Systeminitialisierungsskripte. Die Option --init-file scheint eher eine Ersatzdatei als eine zusätzliche Datei zu verlangen.

Derzeit habe ich ein chaotisches Setup mit einer Umgebungsvariable, die den Pfad zum gefundenen Init-Skript enthält, das zusammen mit den Systemdateien in eine Wrapper-Init-Datei ausgelagert wird. Ist etwas wie
exec bash --init-file "/etc/profile;~/.bashrc;${myInit}" möglich?

Danke, Andrew

5voto

Dennis Williamson Punkte 322329

Die Chancen stehen gut, dass dies funktioniert:

exec bash --init-file <(cat /etc/profile ~/.bashrc "${myInit}")

0voto

Wesley Rice Punkte 2533

Ich bin nicht in der Lage, dies auf meinem Rechner zu testen, aber vielleicht könnten Sie eine benutzerdefinierte .bashrc oder ein .bash_profile an Ihre Subshell übergeben, indem Sie die 'init'-Datei mit etwas wie

if [ -f path_to_init ]; then
  . path_to_init_file
fi

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X