はいといいえ。POSIX環境では、ユーティリティは仕様で説明されているように動作する必要があります。実際には、これは、ユーティリティの準拠バージョンがに存在する必要があることを意味します$PATH
。ただし、プログラムをPOSIX準拠システムで実行すると、非準拠環境で実行される場合があります。実際には、OSにはレガシーモードとPOSIXモードがあり、デフォルトではレガシーモードになっていることがよくあります。一部のコマンドが欠落しているよりも悪いことに、レガシーモードは、異なる意味を持つオプションなど、それらに互換性がない傾向があります。
あなたは良いを取得することができPATH
てgetconf
。もちろん、getconf
オリジナル$PATH
は正しいものではないかもしれないので、それはトリッキーです。コマンドのアプリケーション使用法は、それを行う方法を示しています。
command -p getconf PATH
仕様を理解している限り、POSIX準拠の環境でプログラムを実行している場合、これは必要ありません。また、POSIX準拠の環境でプログラムを実行していない場合、POSIXは適用されません。ただし、このアプリケーションの使用方法は推奨事項と見なすことができます。これが機能しない場合は、POSIX仕様の書簡に関してベンダーが何をしている場合でも、ベンダーの精神に準拠していないことをベンダーに不平を言う権利があります。
getconf PATH
アプリケーションの使用法のセクションでそのことに気づきませんでした。ありがとう!