めっちゃハマった。。
どういうこと
# ll /bin/sh lrwxrwxrwx 1 root root 4 Feb 18 2016 /bin/sh -> dash*
は?????????
dash is
ashとかいうBourne互換シェルのDebian版 だからd+ashでdash
厄介なのがBourne互換シェルを唄っているくせにbash等の構文の幾つかをサポートしていない点である。
たとえば
echo $RANDOM
というシェルスクリプトを適当に用意して/bin/bashで実行すると動く
/bin/bash main.sh 6778
が、/bin/shにするととたんに動かなくなる。
/bin/sh main.sh
これはshではなくdashが動いてしまっているせい。事実、CentOSのshなら動く
/bin/sh main.sh 802