カレントディレクトリにあるスクリプトを実行する際、「source ./script」と「./script」の主な違いは何か。

source(または .)は現在の環境で実行するため変数が残る。./scriptは別プロセス(サブシェル)なので環境変数の変更は親に反映されない。