How to do array operation in busybox

Pratik Prajapati pratik.prajapati12 at gmail.com
Fri Jun 26 11:15:16 UTC 2015


I tried your solution but couldn't print that array:

for index in 1 2 3 ; do
      eval echo \$LST$index
done



On Fri, Jun 26, 2015 at 3:27 PM, walter harms <wharms at bfs.de> wrote:

>  [image: Boxbe] <https://www.boxbe.com/overview> wharms at bfs.de is not on your
> Guest List
> <https://www.boxbe.com/approved-list?tc_serial=21777443206&tc_rand=652426986&utm_source=stf&utm_medium=email&utm_campaign=ANNO_MWTP&utm_content=001&token=aDeOtixSIEH3%2F0Ze0cAv3ydDN957%2BNU3ojgLwj2ek%2F4gXUWcTJ0iLwUhbD5cG%2B2F&key=f6wuCr76tTrCLRy6zk1fMqykcfj899VyTLRSWEJBniU%3D>
> | Approve sender
> <https://www.boxbe.com/anno?tc_serial=21777443206&tc_rand=652426986&utm_source=stf&utm_medium=email&utm_campaign=ANNO_MWTP&utm_content=001&token=aDeOtixSIEH3%2F0Ze0cAv3ydDN957%2BNU3ojgLwj2ek%2F4gXUWcTJ0iLwUhbD5cG%2B2F&key=f6wuCr76tTrCLRy6zk1fMqykcfj899VyTLRSWEJBniU%3D>
> | Approve domain
> <https://www.boxbe.com/anno?tc_serial=21777443206&tc_rand=652426986&utm_source=stf&utm_medium=email&utm_campaign=ANNO_MWTP&utm_content=001&dom&token=aDeOtixSIEH3%2F0Ze0cAv3ydDN957%2BNU3ojgLwj2ek%2F4gXUWcTJ0iLwUhbD5cG%2B2F&key=f6wuCr76tTrCLRy6zk1fMqykcfj899VyTLRSWEJBniU%3D>
>
>
>
> Am 26.06.2015 11:07, schrieb Pratik Prajapati:
> > Thanks. Your solution is very useful.
> >
>
> a more shell like solution is simple using a $IFS separated list
> and the power of set but if you have sparse values and you need the gaps
> you are better of with this solution.
>
> For the example you could do something like:
> LST=""
> for NAME in ARG
> do
>         LST=$LST" "$NAME
> done
>
> just my 2 cents,
> re,
>  wh
>
>
> > On Fri, Jun 26, 2015 at 12:01 PM, Sven-Göran Bergh <
> > sgb-list+busybox at systemaxion.se> wrote:
> >
> >> On 06/26/2015 07:59 AM, Pratik Prajapati wrote:
> >>
> >>> I tried one method and was unable to correct it. Can you give me the
> >>> correct method ?
> >>>
> >>> On Fri, Jun 26, 2015 at 11:25 AM, Sven-Göran Bergh
> >>> <sgb-list+busybox at systemaxion.se
> >>> <mailto:sgb-list+busybox at systemaxion.se>> wrote:
> >>>
> >>>     Hi Patrik
> >>>
> >>>     On 06/26/2015 07:49 AM, Pratik Prajapati wrote:
> >>>
> >>>         Hi,
> >>>
> >>>         I am working on LTP-DDT project (
> >>> https://github.com/rogerq/ltp-ddt)
> >>>         which i cross-compiled for my target and my target uses
> busybox.
> >>> But
> >>>         running it on my target gives me error as array operation is
> not
> >>>         supported in busybox.
> >>>
> >>>         I have attached script with this mail.
> >>>
> >>>         I am getting error for :
> >>>
> >>>         sh: /opt/ltp/testcases/bin/ddt/common/common.sh: line 305:
> >>>         syntax error:
> >>>         bad substitution
> >>>
> >>>         I tried this:
> >>>
> >>>         |305: shift
> >>>         306: index=0
> >>>         307: for  arg;
> >>>         308: do
> >>>         309:   x[$index]=$arg
> >>>         310:   ((index++))
> >>>         311: done
> >>>
> >>
> >> I am afraid that the work around is quite ugly. In this case
> >> you may use the evil eval:
> >>
> >> index=0
> >> for arg;
> >> do
> >>         eval x${index}=$arg
> >>         eval printf "x%s:\\\t%s\\\n" "${index}" "\$x${index}"
> >>         ((index++))
> >> done
> >>
> >> Yes, I know it is ugly and I said so.
> >> Arrays are one of the things I miss the most in ash.
> >>
> >> Brgds
> >> /S-G
> >>
> >>
> >>          |but i got error:|  syntax error: unexpected "(" (expecting
> "}")
> >>>
> >>>         Also couldn't found any solution on google.
> >>>
> >>>         How to make it work on busybox. Please help.
> >>>
> >>>
> >>>     Arrays is a bash feature, it is not supported by ash or standard
> >>>     shells. So unfortunately the short answer is that it does not work.
> >>>     However there are often ways to rework a script to avoid arrays.
> >>>
> >>>     Brgds
> >>>     /S-G
> >>>
> >>>
> >>>         Thanks,
> >>>
> >>>         Pratik
> >>>
> >>>
> >>>
> >>>         _______________________________________________
> >>>         busybox mailing list
> >>>         busybox at busybox.net <mailto:busybox at busybox.net>
> >>>         http://lists.busybox.net/mailman/listinfo/busybox
> >>>
> >>>
> >>>
> >>
> >
> >
> >
> > _______________________________________________
> > busybox mailing list
> > busybox at busybox.net
> > http://lists.busybox.net/mailman/listinfo/busybox
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20150626/6fedad45/attachment.html>


More information about the busybox mailing list