Ich habe eine Bash-Quelle run.sh
wie folgt:
#!/bin/bash
if [ $# -ne 1 ]; then
exit
fi
...
Wenn ich es auf zwei Arten ausführe, gibt es unterschiedliche Verhaltensweisen. Der erste Weg ist,
source run.sh
Das Terminal wird nach der Ausführung geschlossen. Der zweite Weg ist,
./run.sh
Dadurch wird das Skript einfach beendet und auf dem Terminal verbleibt. Ich frage, ob es einen Befehl zum Beenden eines Bash-Skripts für beide source run.sh
und zur ./run.sh
Ausführung gibt. Ich habe es auch versucht return
, was unter ./run.sh
Ausführung nicht gut funktioniert .
Im Allgemeinen interessiert mich, warum dies geschieht und was der Unterschied zwischen der Verwendung von "Quelle" und "Quelle" ist. für die Skriptausführung?
$- = *i*
funktioniert?