Unixにはシステムコールやライブラリ(C言語)、コマンド(シェルスクリプト)などのインターフェースを定義したPOSIXという規格がある。移植性の高いソフトウェアの開発を容易にすることを目的としており、GNU/LinuxやmacOS, BSDなどはPOSIXにだいたい準拠するように実装されている。POSIXを意識してシェルスクリプトを書けば、GNU拡張やBSD拡張に混乱しないですむ。POSIXは下のサイトから参照できる。
手元のターミナルから参照できるようにすると便利だ。2つの方法でインストールできる。
troffファイルを直接ダウンロード
次のサイトからPOSIXのmanのtroffファイルをダウンロードできる。
Linux
付属しているMakefileはLinux向けだ。makeでインストールしたPOSIXのman pagesはセクション0p, 1p, 3p下に置かれる。つまり
$ man 1p grep
とすればPOSIXのmanページが参照できる。
macOS
macOSのmanはこの方法では上手く行かない。理由はよくわからないが0p, 1p, 3pというセクションを認識してくれない。付属のMakefileを使わずに手動でやるか、Makefileを書き換えよう。ファイル名をgrep.1p
からposix:grep.1p
などと変え、/usr/local/share/man/man{1,3,7}
にインストールすればよいだろう(man0
はないので変わりにman7
)。そのときは
$ man 1 posix:grep
で参照できる。
パッケージマネージャーから
パッケージマネージャーからインストールすれば楽だ。
Ubuntu
aptからmanpages-posix
とmanpages-posix-dev
の2つのパッケージがあり両方インストールすれば良い。
$ man 1p grep # or $ man 1posix grep
で参照できる。
macOS (MacPorts)
筆者はMacPortsを使っている。posix-manpages
のパッケージをインストールすればよい。
$ man 1 posix:grep
で参照できる。
他のOS
探せばあると思う。