始まりはここから
業務でシェルスクリプトを作成することになった。
いくつか見たことがあり、コマンド命令を自動化するバッチファイルと思っていたので
昔作ったバッチファイルを思い出し、ソラで書けるHelloWorldを作った。
ダブクリ実行。…あれ?起動しない。
ターミナルから操作。…あれあれ?そんなコマンドないって?
シェルとバッチは違うんだよ
なんでなんで???と焦ったが、すぐに調べてわかった。
そもそも、作成・実行環境が違った。
昔使用していたのはWindows。今使用しているのはMac。
そう、先ほど作ったファイルは.batだった。
そりゃ実行できないしターミナルで打ってもそんなコマンドないよって言われるよね。
バッチファイル(.bat, .cmd など)
Windows環境で実行できるコマンドを記述したテキストファイル。拡張子は.bat, .cmdなど。
基本的にコマンドプロンプト上で動くものを指します。
※最近はPowershellが後継として使用され、シェルスクリプトに統合されつつある。
シェルスクリプト(.sh, .bash など)
バッチファイルのUnix版、Unix系OSで実行できるのコマンドを記述したプログラムファイル。
基本的にシェル上で動くコマンドを記述したファイル。
詳しく突き詰めていくとBシェル系、Cシェル系などがあるらしい。
つまり
双方ともに、実行コマンドをまとめたプログラムファイルではあるが、実行できる環境が異なってくる。
作成する際にはファイルを実行させる環境を確認し
バッチファイルなのか、シェルスクリプトなのかを判断する必要がある。