動かざることバグの如し

近づきたいよ 君の理想に

Ubuntuの/bin/shはbashではなくdashとかやつ

めっちゃハマった。。

どういうこと

# 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

違い一覧よこせ