それらはまったく同じことをするという点でbashで同等です。一方、sourceは5文字長く、POSIXのみのシェルやBourneに移植できません.が、(ドット)は移植できないため、を使用することはありませんsource。
それは正しいです-ファイルをソースすると、現在のシェルでコマンドが実行され、現在のシェル環境に影響します。ソースファイルに引数を渡すことができ$PATH、スラッシュが含まれていない場合、bashは通常のコマンドと同じように実際にファイル名を探します。
.vs の元の質問とは関係ありませんsourceが、あなたの例では、
. ./myScript.sh
同一ではありません
source myScript.sh
while .とsourceは機能的に同一でmyScript.shあり./myScript.sh、同じではないためです。./myScript.shスラッシュが含まれているため、パスとして解釈され、シェルはを使用し./myScript.shます。ただし、myScript.shスラッシュがないため、シェルは$PATH最初にそれを検索します。これはのPOSIX指定標準動作です.。ほとんどのシェルはこれにデフォルト設定されていますが、拡張子(パス検索後の現在の作業ディレクトリでの検索など)または./ の動作を変更するオプションを追加する場合がありますsource。