dash is not bash #!/bin/sh offset=(`ls`) echo $offset みたいなシェルスクリプトがあって、こいつを Ubuntu で実行すると $ ./foo.sh ./foo.sh: 2: ./foo.sh: Syntax error: "(" unexpected というようにシンタックスエラーが発生した。shebang の /bin/sh ではなく /bin/bash として実行すると $ bash foo.sh $ とエラーにはならない。 シンタックス的に OK そうな foo.sh が一つ目ではなぜエラーになったかというと、ubuntu の /bin/sh は Almquist shell (ash) から派生したシェル Debian Almquist shell(dash) へのシンボリックリンクになっており、bash で OK な( … )
![Ubuntuの/bin/shはbashではなくdash](https://cdn-ak-scissors.b.st-hatena.com/image/square/b955f3b4a5ee46fe7c72d9e2ce75133fda3bb42f/height=288;version=1;width=512/https%3A%2F%2Fsiguniang.files.wordpress.com%2F2013%2F05%2Fbash-cookbook.gif)