Details

[Home]

Issue of the Standard # S0679

Brief

Incorrect Shell Language Grammar: else_part

Detailed Description

The section 2.10.2 Shell Grammar Rules reads:

else_part        : Elif compound_list Then else_part
                 | Else compound_list
                 ;
One can see that there should be Else or Elif right after Then. This is wrong.

Problem location(s) in the standard

The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition (SUS 3.0), Shell & Utilities, Shell Command Language, 2.10.2 Shell Grammar Rules.

Possible solutions

We propose to modify this rule as follows:

else_part        : Elif compound_list Then compound_list
                 | Elif compound_list Then compound_list else_part
                 | Else compound_list
                 ;

Accepted

POSIX aardvark

[Home]