Mac OS Xは実際にSUS規格に準拠していますか?

Mac OS Xは実際にSUS規格に準拠していますか?

インターネットでは、Mac OS X 10.8と言われています。Open Group UNIX® 03 標準認証そしてそれ互換性のあるシステムです

しかし、簡単なテストを見るとechoそうではないようです。

 ㅏ) 基本仕様状態

  実装するやらない方がいいすべてのオプションがサポートされます。

 そして

  echo ユーティリティが過去の BSD 動作に適応するように、IEEE Std 1003.1-2001/Cor 1-2002、項目 XCU/TC1/D6/21 を適用します。


 雨) マンページには次の内容があります。状態

要約
エコ[-n] [文字列...]

 そして

基準
echoユーティリティは、Corによって改訂されたIEEE Std 1003.1-2001(「POSIX.1」)に準拠しています。 1-2002.


 氏)現実はオプションをサポートするということです。少なくともe 

(user@avitus tmp)$ uname -a
Darwin avitus.local 12.3.0 Darwin Kernel Version 12.3.0: Sun Jan  6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
(user@avitus tmp)$ echo -e "test \tAm I SUS compliant?"
test    Am I SUS compliant?
(user@avitus tmp)$ echo "test \tAm I SUS compliant?"
test \tAm I SUS compliant?



したがって、質問は次のようになります。
1. これは規制違反ですか?
2. Mac OS X 10.8は実際にSUS規格に準拠していますか?
3. 部分的な部分はありますか? echoユーティリティが過去のBSD動作に適応するようにXCU / TC1 / D6 / 21を適用します。 やるべきことはありますか?では、プロジェクトの説明はどこにありますか?これ Austin Group仕様の技術正誤表1番 言うことはあまりありません。
4.私が何かを逃したことがありますか?

ベストアンサー1

OS X 10.8もUNIX 03登録製品としてリストされています。http://www.opengroup.org/openbrand/register/

bashを使用している場合、デフォルトではPOSIXと互換性がありません。しかし、デフォルトでは、echoはshのオプションをサポートしていません。

$ bash
$ builtin echo -e a; /bin/echo -e a
a
-e a
$ sh
$ builtin echo -e a; /bin/echo -e a
-e a
-e a
$ shopt -u xpg_echo
$ builtin echo -e a; /bin/echo -e a
a
-e a

OS Xのshはbashバージョンです。違いは次のとおりです。

  • POSIXモード有効
  • xpg_echoが有効になっています(echoはどのオプションもサポートしておらず、エスケープシーケンスを解釈します)。
  • sh -l は .bash_profile を読みません。
  • FCEDIT のデフォルト値は EDITOR または ed ではなく ed です。

おすすめ記事