Wenn ich einen exit
Befehl in einem Shell-Skript verwende, beendet das Skript das Terminal (die Eingabeaufforderung). Gibt es eine Möglichkeit, ein Skript zu beenden und dann im Terminal zu bleiben?
Es run.sh
wird erwartet, dass mein Skript ausgeführt wird, indem es direkt oder von einem anderen Skript bezogen wird.
EDIT: Genauer gesagt gibt es zwei Skripte run2.sh
als
...
. run.sh
echo "place A"
...
und run.sh
als
...
exit
...
Wenn ich es vorbeifahre . run2.sh
und wenn es die exit
Codeline erreicht run.sh
, möchte ich, dass es am Terminal anhält und dort bleibt. Bei Verwendung exit
wird jedoch das gesamte Terminal geschlossen.
PS: Ich habe versucht zu verwenden return
, aber echo
Codeline wird immer noch ausgeführt ...
exit 0
das Skript nach Erfolg beenden, wenn Sie Ihr Skript ausführen, z. B.: ./test.sh
Sie sollten die Ausgabe sehen, aber Ihre Konsole bleibt geöffnet.
shell
Befehl verwenden, der tatsächlich ein Shell-Terminal öffnet. Meine eigene Erfahrung ist jedoch, dass dies nicht mit passiert exit
. Beim Beenden wird das Steuerelement normalerweise an das übergeordnete Skript zurückgegeben.