#!/bin/dash set -e function hoge { echo hoge } hoge
$ ./hoge.sh ./hoge.sh: 5: function: not found
dashには function が無い。 なるほど。ふざけんな。
関数定義はbashでも動作するように hoge () { でおこなうこと。
あと、dashはecho文でエスケープシーケンスを理解しない。-eオプションを受け付けない。
これにより、色付き文字なんかが表示できない。
他にも配列が無いなど制限はたくさんあるので、過去の資産を生かすには/bin/shを/bin/bashに書き換えるところからはじめる。リファクタリングはそのあとで。