Ich habe dieses Skript
#!/bin/bash
cd /home/user/somedir
pwd
Es funktioniert wie erwartet, aber ich möchte, dass dieses Skript mich nach / home / user / somedir transportiert, aber ich bleibe im selben Verzeichnis.
Wie schreibe ich ein Skript, das mich (im Gnome-Terminal) nach / home / user / somedir transportiert?
Antworten:
Sie müssen zu
source
Ihrem Skript. Wenn nicht, wird es in einer separaten Subshell ausgeführt, wobei das Arbeitsverzeichnis der Subshell geändert wird, nicht jedoch der Shell, in der Sie es ausführen.Um es zu beschaffen:
oder
Sie können mehr lesen hier
quelle
Verwenden Sie
exec bash
am EndeDiese Frage wird jedoch häufig gestellt, weil man nach der Ausführung eines Bash-Skripts aus einem anderen Verzeichnis an einer Bash-Eingabeaufforderung in einem bestimmten Verzeichnis belassen werden möchte.
Wenn dies der Fall ist, führen Sie einfach eine untergeordnete Bash-Instanz am Ende des Skripts aus:
quelle