POSIXシェルでの割り当ての語彙分析

POSIXシェルでの割り当ての語彙分析

POSIXシェルの語彙解析の場合 http://pubs.opengroup.org/onlinepubs/007904875/utilities/xcu_chap02.html

7. [コマンド名の前に値を指定してください]

ㅏ。 [最初の単語が現れるとき]

TOKENに「=」文字が含まれていない場合は、ルール1が適用されます。そうでなければ、7bが適用される。

b。 [最初の単語ではない]

TOKENに文字が含まれている場合:

- "="で始まる場合は、トークンWORDを返す必要があります。

- "="の前のすべての文字が有効な名前を形成する場合(XBDセクション3.231を参照)、ASSIGNMENT_WORDトークンが返されます。 (引用符付き文字は有効な名前の形成に参加できません。)

- それ以外の場合、ASSIGNMENT_WORDまたはWORDが返されるかどうかは指定されません。名前の割り当てはセクション2.9.1に従ってください。

  1. 「最初の単語」とはどういう意味ですか?

    「最初の単語が出てくるとき」とはどういう意味ですか?

    「最初の言葉ではない」とはいつ意味しますか?

  2. 「最初の単語が出てくるとき」、「TOKENに「=」文字が含まれていない場合はどうなりますか?
  3. 「最初の単語ではない場合」、

    • 「=」で始まるとどうなりますか?

    • 「他の」とは何ですか?

ベストアンサー1

  1. 「最初の単語」とはどういう意味ですか?

最初はオペランドのフラグではありません。

「最初の単語が出てくるとき」とはどういう意味ですか?

オペランドではなく最初のトークンを解析するとき。

「最初の言葉ではない」とはいつ意味しますか?

この場合は、同じ行内の複数の割り当てを処理するために使用されます。

  1. '最初の単語が '?'のときにTOKENに '='文字が含まれていない場合はどうなりますか?

オペランド以外の最初のトークンにシンボルが含まれていない場合、=これは割り当てではなく、コマンド名として扱われます(ルール1)。

  1. 「最初の単語ではない場合」、

    • 「=」で始まるとどうなりますか?

次のようになります。

=123
  • 「他の」とは何ですか?

2つの「else」があり、最初のものは次のとおりです。

invalid%variable+name=123

第2の「else」は、第1以外の単語に割り当てが含まれていない場合を扱う。

おすすめ記事