Bash scripting -- Usage of arrays

Jayesh Jayan jayesh.freebsdlist at gmail.com
Tue Nov 29 21:50:48 GMT 2005


Hi John,

Thank you.

It seems to work like a charm.


On 11/30/05, John Baldwin <jhb at freebsd.org> wrote:
>
> On Tuesday 29 November 2005 04:09 pm, Jayesh Jayan wrote:
> > Hi,
> >
> > Today I was trying to script using arrays in FreeBSD 5.4 but it doesn't
> > work.
> >
> > Below is a sample script which I used.
> >
> > ******************************************************
> >
> > #!/bin/bash
> >
> > array=( zero one two three four);
> > echo "Elements in array0:  ${array[@]}"
> >
> > ******************************************************
> >
> > It works fine on RedHat server.
> >
> > Below is the output.
> >
> > # sh array.sh
> > Elements in array0:  zero one two three four
> >
> > Below is the out put from the FreeBSD server using the same code.
> >
> > -bash-2.05b# sh aa.sh
> > aa.sh: 3: Syntax error: word unexpected (expecting ")")
> >
> > Please guide me on how to use arrays on freebsd too.
>
> sh != bash
>
> You can either install bash from ports, or you can write your scripts in
> sh
> without using bash extensions.  For example, with sh you can do things
> like:
>
> array="zero one to three four"
> for x in $array; do
>         echo $x
> done
>
> However, you can't easily get the count of items.  You could maybe do
> something like:
>
> set $array
> echo "$# items"
>
> but that's somewhat hackish.
>
> --
> John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> "Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
>



--
Jayesh Jayan

"The box said "Requires Windows 95, NT, or better", so I installed Linux."

Visit my homepage @ http://www.jayeshjayan.com


More information about the freebsd-questions mailing list