POSIXシェル構文の「指定されていないASSIGNMENT_WORDまたはWORD」ルールはどういう意味ですか?

POSIXシェル構文の「指定されていないASSIGNMENT_WORDまたはWORD」ルールはどういう意味ですか?

POSIXシェル構文から http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10_02

規則7bは以下の内容を含む。

Otherwise, it is unspecified whether it is ASSIGNMENT_WORD or WORD that is returned.

どういう意味ですか?これは=、左が空ではなく、有効な名前ではないすべての単語トークンに対して互換性のあるシェルを意味しますか?例:

,=

ASSIGNMENT_WORDエラーとして分類する必要がありますが、WORDエラーを返すべきではありませんか?

ベストアンサー1

いいえ指定されていない2つの正常な結果のどちらが返されますか?指定されていないため実装されます。できるエラーが発生します(仕様に記載されていないため)。確かに起こります。 2つのオプションしかないことを意味しますが、仕様には2つのオプションのうちの1つは記載されていません。〜しなければならない発生する。まったく話しません。

このタイプの表現は、誰かが念頭に置いている(おそらく仮想的な)実装が他の実装と異なる可能性があり、それを標準から除外するための合意がない状況で使用されます。

用語は1.5用語:

指定されていない

有効なプログラム構成または有効なデータ入力の使用に起因する POSIX.1-2008 で指定されていない値または動作の特性について説明します。

値や動作は POSIX.1-2008 準拠の実装によって異なる場合があります。アプリケーションは、値や動作の存在や有効性に依存してはいけません。特定の値や動作に依存するアプリケーションは、一貫した実装では移植性が保証されません。

あまり具体的ではない実装定義:

POSIX.1-2008 未定義の値または動作の説明しかし、実装者の選択に応じて。値や動作は POSIX.1-2008 準拠の実装によって異なる場合があります。アプリケーションは値や動作の存在に依存してはいけません。そのような値や動作に依存するアプリケーションは、一貫した実装全体にわたって移植性は保証されません。

おすすめ記事