「.」「./」と「source」の違いは何ですか?

「.」「./」と「source」の違いは何ですか?

違いは何ですか

. script.sh
./script.sh

そして

source script.sh

?

答え1

./script

上記はスクリプトを実行します。スクリプトが完了すると、環境に加えられた変更はすべて破棄されます。

. script

上記はスクリプトをソースします。コマンドが直接入力されたかのようになります。環境の変更はすべて保持されます。

source script

これもスクリプトのソースになります。 このsourceコマンドは POSIX では必須ではないため、短い よりも移植性が低くなります.

関連情報