Re: brace expansion in ash?
Bob McGowan wrote:
> Peter S Galbraith wrote:
> >
> > I was doing this in a Makfile:
> >
> > install -m 644 debian/{0*,READ*,c*,gri*,watch} gri-2.6.0/debian
> >
> > and it turns out the brace expansion is a bashism, as ash doesn't
> > support it. Is there a sh-compliant way of doing this? I looked
>
> As you say, this is a bashism (also found, IIRC, in the csh family).
Right.
> The only option is to use character ranges and be careful in the
> selection of the characters. Using your 'install' example:
>
> install -m 644 debian/[0Rcgw]* gri-2.6.0/debian
>
> But this would only work correctly if each letter in the range is unique
> to the files you want. For instance, the file 'Readme' would also match
> but might not be part of what you want to install.
I could do it using:
( cd debian ; install -m 644 0* READ* c* gri* watch ../gri-2.6.0/debian)
Not as elegant, but it works. Basically, all I want to do is
copy everything over except the CVS directory.
Thanks for your answer,
Peter
Reply to: