Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: bash-4.0 regression heads up (escaped semicolons in subshells)
Date: Sun, 22 Feb 2009 00:29:32
Message-Id: 200902211929.29115.vapier@gentoo.org
In Reply to: Re: [gentoo-dev] Re: bash-4.0 regression heads up (escaped semicolons in subshells) by Mart Raudsepp
1 On Saturday 21 February 2009 19:00:19 Mart Raudsepp wrote:
2 > On Sat, 2009-02-21 at 18:55 -0500, Mike Frysinger wrote:
3 > > On Saturday 21 February 2009 18:38:55 Ryan Hill wrote:
4 > > > On Sat, 21 Feb 2009 18:27:10 -0500 Mike Frysinger wrote:
5 > > > > looks like bash-4.0 has broken semicolon escaping in subshells. this
6 > > > > comes up when using find's -exec like we do in a few places in
7 > > > > eclasses: ls=$(find "$1" -name '*.po' -exec basename {} .po \;);
8 > > > > shift you can work around the issue in a couple of ways:
9 > > > > - quote the semicolon:
10 > > > > .... ';')
11 > > > > - use backticks
12 > > > > `find .... \;`
13 > > > >
14 > > > > i'll tweak the eclasses to use quoting for now
15 > > >
16 > > > is this a bug or broken on purpose?
17 > >
18 > > i say it's a bug, but i'm not the bash maintainer
19 > >
20 > > i imagine it's fall out from attempts to fix support for case statements
21 > > in subshells
22 >
23 > Then the bug should be fixed, instead of changing usage to something
24 > apparently less common, as the conversion could miss some. And more
25 > importantly users still want to use \; for find -exec ending on their
26 > command line and their very own scripts.
27 > And who knows how many shell scripts shipped by packages use the
28 > escaping method.
29
30 i think you missed the entire point of this thread: there's a bug in bash-4.0
31 that code is likely to hit.
32 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies