Ich verwende ein Installationsprogramm, das der Datei eine Umgebungsvariable hinzufügt ~/.bash_profile
.
Wenn ich den Jetty-Server starte, kann er diesen Eintrag nicht finden ...
Wenn ich laufe
$ source ~/.bash_profile
Es lädt die ~/.bash profile
Datei neu und der Server startet erfolgreich und ohne Probleme.
Das Problem besteht darin, dass mein Kunde weder eine neue Shell-Sitzung startet noch die ~/.bash_profile
Datei manuell aktualisiert.
Ich habe versucht, den Befehl in ein Shell-Skript einzufügen source ~/.bash_profile
, das ich aufrufe, wenn ich das Startskript des Jetty-Servers aufrufe, aber das funktioniert auch nicht.
Gibt es eine andere Möglichkeit, die aktuelle Sitzung neu zu laden ~/.bash_profile
? Ich wäre Ihnen für alle Informationen, die Sie mir geben können, sehr dankbar.
Antwort1
Ein Shell-Skript wird normalerweise nicht von Bash ausgeführt (außer wenn Sie dies ausdrücklich veranlassen).
Beachten Sie, dass /bin/sh auf vielen Linux-Systemen jetzt ist dash
und da source
es sich um einen nicht standardmäßigen Shell-Befehl handelt, der von importiert wurde csh
, wird er von einer Shell wie Dash nicht unterstützt.
Der in POSIX definierte Punktbefehl ( .
) sollte funktionieren, solange der übergebene Dateiparameter keine nicht standardmäßigen Erweiterungen enthält.