On 4/1/2021 8:57, Chet Ramey wrote:
Yes, you need a list terminator so that `done' is recognized as a reserved word here. `;' is sufficient. Select doesn't allow the `done' unless it's in a command position. Some of the other compound commands have special cases, mostly inherited from the Bourne shell, to allow it.
I don't know that I'd call them "special cases" if sh has pretty much condoned it from the get-go; 'select' is the outlier, from my POV.
--*greywolf;