Was ist der Unterschied zwischen "." "./" und "source"?

Was ist der Unterschied zwischen "." "./" und "source"?

Was ist der Unterschied zwischen

. script.sh
./script.sh

Und

source script.sh

?

Antwort1

./script

Das obige führt das Skript aus. Wenn das Skript fertig ist, werden alle an der Umgebung vorgenommenen Änderungen verworfen.

. script

Das Obige dient als Quelle des Skripts. Es ist, als ob die Befehle direkt eingegeben worden wären. Alle Umgebungsänderungen werden beibehalten.

source script

Dies ist auch die Quelle des Skripts. Der sourceBefehl wird von POSIX nicht benötigt und ist daher weniger portierbar als der kürzere ..

verwandte Informationen