• - Facebook Page

  • - GOLE1

  • - Google+

  • - My Room

  • - 周辺風景1

  • - 周辺風景2

  • - Highway1

  • - Highway2

  • - Steam

  • - My site

  • - Profile

  • - 周辺風景3

´Д`)< ShellScriptについての備忘録

※ この記事は アメブロからのお引っ越し の続き記事です

 あまり触れる機会がなかったShellScript。真面目に調べてみると初めてしるような内容が非常に多かったため備忘録として記事を作成しようと思う。
最近、同じ内容について詳細にまとめてあるサイトが既にあるからとそういうサイトへのリンク集を作っても自分の記憶に残らないことに気付いた;´Д`) リンク集記事のことすら忘れてしまう
なので他の人にとっては目新しさのない記事になるかもしれないが、自分の頭を整理しる目的で記事を作成する。

■ ;゚Д゚)< ShellScriptってスゲー!

いやホントにすごい。DOSのbatch fileのようなものでしょ、と思っていたのだが全然違った。以下、凄い点。

  1. 関数が作成できる。戻り値も返せる。sourceコマンドでincludeもできる
  2. 連想配列が使える
  3. trapコマンドで正常・異常終了をtrapして後処理できる
  4. だいたい正規表現が使える。変数単体で使えてしまう。
  5. 欲しいと思った機能を持つコマンドが大抵の場合、既にある

ShellScriptとしての凄い理由ではないものも含まれているけどまあいいか;´Д`)
CUIならなんでもできるんじゃないの!?ってくらいすごい。 もし微妙に足りない機能があった場合は、非常にシンプルな機能を提供するバイナリを作ってShellScriptから呼び出したりするといいかも。

■ ;´Д`)< あれ?思ったより書くことが少ないぞ?

;´Д`)< おかしいな、調べながら作っているときはあんなに時間がかかったんだけど……

どうやら調査に使った時間の大半は ShellScirptよりも 正規表現をどうするかに消費されていたようです;´Д`)
なんでこんなに難しいんやろね……。正規表現単体ではなくて、標準入出力とか文字エスケープのいるいらないとか、コマンドごとの正規表現引数指定方法とか、;゚Д゚)< "\1"に切り出した値はどうやって使うの!? とか、こういう色々な要素が同時に絡んでくるからややこしくなるんだろうなあと思ったり。最後の疑問は未だにどうすればいいかがわからないし。

仕事で使おうと思ってもこういう部分で作成までに時間がかかって「時間使うなら手作業でやれば?」→ 結局覚えられない ってなるんだよなあ。
もうやめた職場のことを考えるのはやめるか。