Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Nov 2005 16:32:52 -0500
From:      Wesley Shields <wxs@csh.rit.edu>
To:        Jayesh Jayan <jayesh.freebsdlist@gmail.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Bash scripting -- Usage of arrays
Message-ID:  <20051129213252.GA68141@csh.rit.edu>
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 Wed, Nov 30, 2005 at 02:39:15AM +0530, 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.

Bash (installed via ports) is in /usr/local/bin.  Change the first line
to be #!/usr/local/bin/bash and chmod 750 (at least) the script.  This
way you can just ./aa.sh and be done.

If you prefer to run it as you have shown above don't run sh aa.sh,
instead do bash aa.sh, assuming bash is in your path.  sh aa.sh will try
and run the script through sh (which is not bash).

wxs@syn ~ > ls -la foo.sh
-rwxr-xr-x  1 wxs  wxs  97 Nov 29 16:26 foo.sh*
wxs@syn ~ > cat foo.sh
#!/usr/local/bin/bash

array=( zero one two three four);
echo "Elements in array0:  ${array[@]}"
wxs@syn ~ > bash ./foo.sh
Elements in array0:  zero one two three four
wxs@syn ~ > ./foo.sh
Elements in array0:  zero one two three four
wxs@syn ~ > sh ./foo.sh
./foo.sh: 3: Syntax error: word unexpected (expecting ")")
wxs@syn ~ >

-- WXS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051129213252.GA68141>