このようなスクリプトの実行の違いは何ですか:
./test.sh
次のようなスクリプトを実行します。
. test.sh
?
簡単な2行のスクリプトを試して、違いがあるかどうかを確認しました。
#!/bin/bash
ls
しかし、両方とも同じ情報. test.sh
を./test.sh
返しました。
test.sh
と同じではありません./test.sh
(最初の呼び出しPATH
検索を)ので、ある. test.sh
と. ./test.sh
同じ方法で異なる(前者は呼び出しPATH
検索を)。多くのシェルは、パス検索を行う際.
の最後に暗黙的に含まれているようですが、この動作は標準ではありません。したがって、vs とvs を比較する方がより正確です。PATH
.
test.sh
. test.sh
./test.sh
. ./test.sh