bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: syntax error while parsing a case command within `$(...)'


From: Koichi Murase
Subject: Re: syntax error while parsing a case command within `$(...)'
Date: Tue, 16 Feb 2021 13:34:08 +0800

2021年2月16日(火) 13:29 Oğuz <oguzismailuysal@gmail.com>:
> 16 Şubat 2021 Salı tarihinde Koichi Murase <myoga.murase@gmail.com> yazdı:
>> bash -c ': $(case x in esac)'
>> bash -c ': $(case x in (x) if :; then echo a; fi esac)'
>> bash -c ': $(case x in (x) a() { echo a; } esac)'
>> bash -c ': $(case x in (x) for ((i=0;i<10;i++)) { echo a; } esac)'
>> bash -c ': $(case x in (x) while false; do echo a; done esac)'
>> bash -c ': $(case x in (x) case y in (y) echo a;; esac esac)'
>
> I'm lost. Are these even supposed to work outside command substitution? Why?

Because the ending keywords---}, fi, done, and esac---are allowed to
be chained, which I think is undocumented though.

$ { { { { { echo "Something like this is allowed"; } } } } }

--
Koichi



reply via email to

[Prev in Thread] Current Thread [Next in Thread]