title: What's wrong with my bash array?
body: <p>Can anyone tell me why this bash script works if I cut and paste it to the terminal but throws "server_prep.sh: 7: Syntax error: "(" unexpected" when launched using $ sudo sh server_prep.sh ?</p>
  
  <pre><code>#!/bin/sh
  
  #Packages
  apt-get -y install ssh libsqlite3-dev ruby-full mercurial
  
  #Gems
  required_gems = ( rake rails sqlite3-ruby )
  
  #Set up directories
  [ ! -d /var/www ] &amp;&amp; mkdir /var/www
  [ ! -d /var/www/apps ] &amp;&amp; mkdir /var/www/apps
  
  #install gems manually
  if ! which gem &gt;/dev/null; then
      wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
      tar xvfz rubygems-1.3.5.tgz
      ruby rubygems-1.3.5/setup.rb
      ln -s /usr/bin/gem1.8 /usr/bin/gem
      gem update --system
  
      #Tidy Up
      rm -rf rubygems-1.3.5.tgz rubygems-1.3.5
  fi
  
  #Install required gems
  for required_gem in "${required_gems[@]}"
  do
      if ! gem list | grep $required_gem &gt;/dev/null; then
          gem install $required_gems
      fi
  done
  </code></pre>
  
  <p>Thanks in advance!</p>