Good morning Jim, thanks for your help as well!  After talking with
Grant yesterday it dawned on me that this must be a bash-ism.  Your
suggestion is pretty good at cutting down on the amount of syntax to
deal with.  It is certainly clearer than the hack I put together. :)
The reason that I want to make this the shortest command possible is
because I don't want to add 60 lines of code to a script just to copy
10 files (with error control and so forth).

Thanks,
Dave


On 11/21/16, Cathey, Jim <[email protected]> wrote:
> So you've written a shell script that relies upon non-POSIX
> behavior, specifically GNU bash extensions, and it doesn't
> work in POSIX-ey ash.  No big surprise.  You will have to
> do it differently, or install bash on your target.  Same
> dilemma everybody else faces when dealing with 'small' targets.
>
> What's _wrong_ with this kind of thing:
>
>       P=/tmp/test cp -f $P/a $P/b $P/c ... dest/
>
> anyway?  (I used $P to cut down the source line length, but
> it's totally unnecessary to the functionality.)  It's not
> like you have to get everything done in one command, either.
> The cp command is not some kind of atomic operation.  Are you
> after a fewest-line-count award?
>
> -- Jim
>
> -----Original Message-----
> From: busybox [mailto:[email protected]] On Behalf Of David
> Henderson
> Sent: Monday, November 21, 2016 2:07 PM
> To: Grant Edwards
> Cc: [email protected]
> Subject: Re: copying multiple files
>
> Thanks again for your continued help Grant.  Unfortunately the file
> names are not actually similar as in the example (e.g. help.txt,
> world.png, ...) so using braces won't help either.  Any other
> thoughts?  Currently I'm forced to use a combination of find and cp -
> ugh - just to reduce the number of lines necessary for the
> operation...
>
> Thanks,
> Dave
>
>
> On 11/21/16, Grant Edwards <[email protected]> wrote:
>> On 2016-11-21, David Henderson <[email protected]> wrote:
>>> On 11/21/16, Grant Edwards <[email protected]> wrote:
>>>> On 2016-11-21, David Henderson <[email protected]> wrote:
>>>>
>>>>> cp -f /tmp/test/{a.txt,b.txt,c.txt} /tmp/test2/{1.txt,2.txt,3.txt}
>>>>> /tmp/dest
>>>>
>>>>> This keeps failing.  Is this implemented in BB?
>>>>
>>>> Try this:
>>>>
>>>>    $ busybox ash
>>>>    ~ $ echo /tmp/test/{a.txt,b.txt,c.txt}
>>>>    /tmp/test/{a.txt,b.txt,c.txt}
>>>>
>>>> It appears that the busybox shell does not implement bash/C shell
>>>> alternation (aka "brace expansion").  None of the busybox builds I
>>>> have on hand do anyway, and I don't see any options in the config file
>>>> to enable such a feature...
>>
>>> Hey Grant, thanks for the reply!  Unfortunately that command will just
>>> echo what you type to the screen, not actually copy anything.
>>
>> I know.  I was showing you how to determine if alternation (brace
>> expansion) wasn't happenning.  It doesn't on any of my builds of
>> busybox.
>>
>>> Any other thoughts?
>>
>> Don't try to use alternation:
>>
>>   cp -f /tmp/test/[abc].txt /tmp/test2/[123].txt /tmp/dest
>>
>> --
>> Grant Edwards               grant.b.edwards        Yow! ... I think I'd
>>                                   at               better go back to my
>> DESK
>>                               gmail.com            and toy with a few
>> common
>>                                                    MISAPPREHENSIONS ...
>>
>> _______________________________________________
>> busybox mailing list
>> [email protected]
>> http://lists.busybox.net/mailman/listinfo/busybox
>>
> _______________________________________________
> busybox mailing list
> [email protected]
> http://lists.busybox.net/mailman/listinfo/busybox
>
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to