>>641
643に加えて
(1)そのファイルに実行権(プログラムやシェルスクリプトであることを示すフラグ)が必要
Windowsは拡張子によって、実行ファイルかが判断されるがUnix系はフラグによる。
chmod コマンドを参照

(2)Unix系は拡張子による区別がないので、コマンドとして実行する際に .sh 部分も必要

(3)Windowsのコマンドプロンプトはカレントディレクトリもコマンドの検索パスに含まれるが
Unix系ではカレントディレクトリが含まれていないことが多いため、カレントディレクトリに
あるコマンドは ./test.sh のようにディレクトリから指定する必要がある場合が多い。