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