Date: Tue, 29 Nov 2005 16:17:15 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Cc: Jayesh Jayan <jayesh.freebsdlist@gmail.com>, freebsd-questions@freebsd.org Subject: Re: Bash scripting -- Usage of arrays Message-ID: <200511291617.16666.jhb@freebsd.org> In-Reply-To: <e8ecf3c00511291309yb9caeb9uebdf92c4ad7af4f8@mail.gmail.com> References: <e8ecf3c00511291309yb9caeb9uebdf92c4ad7af4f8@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511291617.16666.jhb>