bashとshの違いから:
質問への同意:
/bin/sh
bashへのリンクとして持っている場合、bashは、/bin/sh
として呼び出されたときと同じように呼び出された場合と同じように動作しません/bin/bash
。として呼び出されるとsh
、ほとんどの場合POSIX準拠と限定された拡張セットに制限されます。
Linuxでshへのシバンがあるシェルスクリプトに出くわしたときはいつでも#!/bin/sh
、そのディストリビューション上であってもbin/sh
、ダッシュやbashなどの別のシェルへのシンボリックリンクである場合、ボーンシェルと100%互換性があるはずです。それはそれ自体を限られた拡張セットに制限しますか?それで、私はそれらをFreeBSDで実行できますか?例外はありますか?それとも私はそれがうまくいくと仮定しても安全でしょうか?
したがって、ディストリビューションで、bin/sh
へのシンボリックリンクbin/bash
であり、スクリプトの使用#!/bin/sh
とスクリプトにbashismが含まれている場合、bashはshモードのようになるため、実行されません。