ほとんどすべてのLinuxが、のようなオリジナルのコアUnixコマンドのGNUバージョンを使用していps
ます。
あなたの目標はLinux間の互換性のみであるため、答えは「それは問題ではない」ということです。
Linuxの組み込みおよびその他の非常に小さなバリアントは、通常、GNUツールの代わりにBusyBoxを使用しますが、の場合ps
、BusyBoxのバージョンはあまりにも削られているためAT&Tish でも BSDish でもないため、実際には答えには影響しません。
時間の経過とともに、他のUnixyシステムはps
互換性の違いを減らしてきました。Mac OS X — BSD Unixから間接的に派生し、一般的にはまだBSD Unixと最もよく似た動作をするMac OS X は、AT&Tish ps
フラグとBSDish フラグの両方を受け入れます。
Solaris / OpenIndianaもこのように動作しますが、BSDとAT&Tの歴史が混在しているため、これはそれほど驚くことではありません。
FreeBSD、OpenBSD、およびNetBSDは、まだBSDスタイルに排他的です。
Unixボックスが古いほど、1つのスタイルのフラグしか受け入れない可能性が高くなります。そのようなボックスの違いについては、今と同じ方法でペーパーすることができます。GNUツールがインストールされていない場合は、GNUツールをインストールします。
とはいえ、まだトラップがあります。ps
一般に、出力は、移植性が必要なスクリプトでは解析されるべきではありません。たとえば、Unixyシステムは使用可能な列、OSが非ルートユーザーに表示できるデータ量などが異なるためです。
(ところで、「BSD vs. Unix」ではなく、「BSD vs. AT&T」であることに注意してください。BSDUnixは、まだUNIX®です。BSDUnixは、元のAT&Tブランチと直接的な開発の歴史を共有しています。 :AT&Tとその後継者は、その歴史のいくつかの時点でBSDの革新を持ち帰りました。この統一は、The Open Groupとその前身の努力によるものです。