12

私はそれを知ってsourceおり.、同じことをします。タイトルの他のコマンドのペアが同じことをしない場合は驚くでしょう (シェルとして bash を実行していて、同等だからですよ$SHELL [script]bash [script]?? )。

では、スクリプトを実行する 3 つの方法の違いは何でしょう? スクリプトを入手することは、スクリプトを実行することとまったく同じではないことを知ったばかりなので、質問しています。私の「実験」を実行してマニュアルページを読んでも明らかではなかった方法で。

私が書いた信じられないほど単純なスクリプトでこれらの関数をやみくもに呼び出すことによって見つけることができなかった他の微妙な違いは何ですか? 上記のリンクの回答を読んだ後、私の質問に対する回答は非常に単純な説明になると強く推測できますが、自分で完全に発見することはほとんどありません.

私が行った「実験」は次のとおりです。

$. myScript.sh
  "This is the output to my script. I'd like to think it's original."

$source myScript.sh
  "This is the output to my script. I'd like to think it's original."

$bash myScript.sh
  "This is the output to my script. I'd like to think it's original."

$$SHELL myScript.sh
  "This is the output to my script. I'd like to think it's original."

$./myScript.sh 
  "This is the output to my script. I'd like to think it's original."

$myScript.sh 
  "This is the output to my script. I'd like to think it's original."
4

1 に答える 1