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