シェルプログラミングが便利だと思うことはよくある。どんなところがいいかといえば、次のような感じだ。
- 文法が簡単なので、すぐに覚えることができる
- コマンドラインで使えるため、自動起動やcronなどによる定時処理に利用可能
- OSのパイプラインやリダイレクトの機能によりテキストデータの入出力を制御できるので、コマンドを気軽に組み合わせることができる(これは*nix系の良さか)
- ちょっとしたプログラムなら手軽に組める
逆にいまいちなのは、次のような点だろうか。
- シェルプログラミング用の統合開発環境はあまり見かけないので、開発効率があがらない
- マルチスレッドプログラムのようなあまり複雑なプログラムは組めない
- 保守性は低い(気がするだけかもしれないが)
- もちろん、GUIプログラムは作成できない
要は適材適所で、シェルスクリプトの使いどころを間違えずに使えば、結構な作業をできるようになる。最近はこういうことを知らないで、GUIの普及とともに、計算機であるコンピュータが本来得意とする処理を人間が繰り返し手作業で行ったりする、という本末転倒な使い方をする人が増えてきているような気がする。たまには、ちょっと泥臭いがシェルプログラムなどにも目を向けてみるのと世界が広がるのではないかと思う次第。