Wenn Sie ein Skript in Ihrer Login-Shell ausführen, wird ein neuer Unterprozess erzeugt und die Skriptausführung in einer Subshell ausgeführt. Sobald das Skript abgeschlossen ist, wird die Subshell beendet und Sie kehren zur Login-Shell zurück Skript wird das Verzeichnis in den von cd angegebenen Pfad geändert. Nach Abschluss des Skripts kehren Sie jedoch zu Ihrer Anmeldeshell zu dem Arbeitsverzeichnis zurück, von dem aus Sie das Skript gestartet haben.
Der Weg, um dies zu überwinden, ist Verwendung,
source yourscript.sh
Die Quelle führt das Skript als TCL-Skript aus, dh es hat den gleichen Effekt wie bei der Eingabe jeder Zeile in der Befehlszeile Ihrer Anmeldeshell und der Ausführung von dort. Auf diese Weise bleibt das Skript nach Abschluss der CD in diesem Verzeichnis.