以下のようなスクリプトがあった場合
hello-world.sh
#!/bin/bash
echo 'Hello World!'
スクリプトファイルとして実行
./hello-world.sh
- シェバング行(#!/bin/bash)が必要
- 実行属性が必要
- 新しいシェル上で実行される
シェルの引数として実行
sh hello-world.sh
- シェバング行(#!/bin/bash)が不要
- 実行属性が不要
- 新しいシェル上で実行される
標準入力として実行
sh -s < hello-world.sh
- シェバング行(#!/bin/bash)が不要
- 実行属性が不要
- 新しいシェル上で実行される
. コマンドとして実行
. hello-world.sh
- シェバング行(#!/bin/bash)が不要
- 実行属性が不要
- 現在のシェル上で実行される