最近、altJSに代表されるような言語を抽象化したプログラミング言語が人気です。素のままに使うのではなく、抽象化することでより優れた書き方に変換できたり、多数のフォーマットへの変換を容易にします。 Batshもその一つです。Batshという代替言語から、BashスクリプトとWindowsのバッチファイルを生成することができます。

Batshの使い方

左側がBatsh、右側がBashスクリプトへの変換結果です。

同じスクリプトからWindowsのバッチファイルを生成。

関数も使えます。

Windowsだとcallなんですね。

Batshを覚えてしまえばBashスクリプトもWindowsのバッチファイルも同じ書き方で対応できるようになります。あまり使う機会のない言語の場合、覚えておくのも大変です。Batshを習得しておけばLinux/Windows環境の両方で便利に使えるでしょう。

BatshはOCaml製のオープンソース・ソフトウェア(MIT License)です。

Batsh - A language that compiles to Bash and Windows Batch BYVoid/Batsh