私が見たほとんどのシェルスクリプト(自分で作成していないものを除く)では、シバンが#!/bin/sh
に設定されていることに気付きました。 。これは、古いスクリプトではそれほど驚くことではありませんが、かなり新しいスクリプトでも同様です。
/bin/sh
を好む理由はありますか /bin/bash
以上 、bash
以降 多くのLinuxおよびBSDマシンでは、10年以上前にさかのぼりますが、ほとんどの場合、デフォルトになっていますか?
承認された回答:
- デフォルトでbashを出荷していないシステムがあります(例:FreeBSD)。
- bashがインストールされていても、
/bin
にない場合があります 。 - ほとんどの単純なスクリプトはbashを必要としません。
- POSIXシェルの使用はより移植性が高く、スクリプトはさまざまなシステムで実行されます。