1. Qiita
  2. 投稿
  3. Bash

Bashで便利なフレームワーク

  • 14
    いいね
  • 0
    コメント

bash-oo-framework(Bash Infinity)というものがあります。

ShellScriptを書くときは、これが便利になることがあります。

Bashでフレームワークを使うこと自体にはあまり意味があるとは思えませんが(Bashは速度及び、環境にあまり左右されず使えるため)、しかし、ShellScriptの可読性は向上すると思われます。

$ bash
$ which bash
/usr/local/bin/bash
$ git clone https://github.com/niieani/bash-oo-framework
$ cd bash-oo-framework
$ vim your-script.sh

基本的にはlibフォルダの上にスクリプトを置けば動作します。exampleフォルダを参考にしながら使い方を理解します。

bash-oo-framework/your-script.sh
#!/usr/local/bin/bash

source "$( cd "${BASH_SOURCE[0]%/*}" && pwd )/lib/oo-bootstrap.sh"

import util/log util/type
Log::AddOutput util/type CUSTOM

passingArrays() {
  passingArraysInput() {
    [array] passedInArray
    $var:passedInArray push 'will work only for references'
    $var:passedInArray push 'test'
  }

  array someArray=( 'one' 'two' )
  passingArraysInput $ref:someArray
  $var:someArray toJSON
}

passingArrays
$ ./your-script.sh
["one", "two", "will work only for references", "test"]

これで少しはShell Scriptが読みやすくなりますね。