OS X用の最小POSIXシェルはありますか?

OS X用の最小POSIXシェルはありますか?

OS X用の最小POSIXシェル実装はありますか?私は移植性の高いシェルスクリプトを書くのが大好きで、できるだけ多くの非互換性や悪用の例を捉えたいと思います。システムを交換するつもりはありません/bin/sh

/bin/shOS Xでは、10.11.4GNU bash 3.2.57またはそれに基づいています。

$ /bin/sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
Copyright (C) 2007 Free Software Foundation, Inc.

/bin/bash2つのファイルは異なりますが、報告されたバージョン文字列は同じです。しかし、なぜこのようなことが起こるのでしょうか?

$ diff /bin/sh /bin/bash
Binary files /bin/sh and /bin/bash differ

それにもかかわらず、POSIX互換モードは、この形式の中括弧拡張など、標準で必要とされないbashいくつかの操作(実際には普遍的ではない)をまだ実行します。local

$ echo {1..10}
1 2 3 4 5 6 7 8 9 10

答え1

MacPortsではdash、Debianが使用するものです。このオプションとその他のオプションについては、以下をお読みください。少なくともPOSIX.2互換シェルはありますか?、答えによると、標準はいくつかの場所であいまいです。

答え2

また、以下がdashあります。

Schily Bourne ShellはOpenSolaris Bourne Shellソースから派生しました。

pkgin/pkgsrcにあります。

2つのオプションpkgin

  • 最小POSIX互換バリアント(pbosh)
  • POSIX準拠の拡張バリアント(bosh)

Joyentはマクロを提供しますpkgin バイナリパッケージ

http://schilytools.sourceforge.net/bosh.html

Macでは使用していませんが、OpenSolarisのバリエーションを使用してきました。

関連情報