sh bash ./ sourceの違い

  • sh スクリプト名の場合: スクリプトの先頭に#!が書かれていても無視され、/bin/shで実行されます。
  • bash スクリプト名の場合: スクリプトの先頭に#!が書かれていても無視され、/bin/bashで実行されます。
  • ./スクリプト名の場合: この場合は、スクリプトの先頭に記述された#!の指定に従って、該当するシェルが使用されます。例えば、#!/bin/shと書かれていれば/bin/shdash)、#!/bin/bashと書かれていれば/bin/bashで実行されます。
  • source スクリプト名. (ドット) スクリプト名sourceのエイリアス)の場合、スクリプトは現在のシェルの環境で実行されます。 つまり echo $0 の結果ということ
  • ./スクリプト名 のみ chmod +x 必要
    ← Go home