2006年12月24日
_ シェルスクリプトについて
UNIX-like systemでのシェルスクリプトの利点というのは、 それがUI(CLI)と直結している点にあります。
GUIのツール上で自動化のやりかたはマウスを使う 通常の操作とは異なるものであり、大きな学習コストがかかります。 それに対しシェルスクリプトは通常のシェルでの操作の延長線上に あるため学習コスト低くてすみます。
さらに学習コストの問題だけでなく、その構造がユーザの思考を 自動化へと誘引するという効果もあります。例えばGUIのツールを 使っていて同じ操作の繰り返しをして面倒だと考えたとしても、 それがなんらかの自動化へとは向かいにくいでしょう。 一般的なユーザなら何か別の 便利なツールがないか探してあればそれを使う、なければあきらめる といった具合でしょう。 しかしシェルで同じような操作の繰り返しをしていれば、まさにその 繰り返しの手順がスクリプトになってしまうため、 繰り返しが面倒になった時点でユーザはスクリプトを書こうと考え 始める場合が多くなります。
逆に言うとシェルというのはユーザにプログラミングを強制させている 環境であるとも言えるかもしれませんが、 それはパイプやバッククオートによるプログラムの実行結果の展開のような 優れたアイデアがその使いにくさをかなり解消していると言えるでしょう。
MS-DOSのcommand.comのバッチ機能はそういうことを言うには貧弱すぎましたね。