Turbulent Sky
Tech Tips, Tricks and Solutions

Normally, I install programs from the Ubuntu repositories but today I needed to install a VPN client from a tarball using a shell script. When I ran the included install.sh file, I got a couple syntax errors:

install.sh: 22: function: not found
install.sh: 24: Syntax error: “}” unexpected

Looking inside the script, I saw that it runs /bin/sh. Nothing unusual there. Well, it turns out that on Ubuntu, sh is a symlink to dash. Apparently, since the Edgy version of Ubuntu, sh has been pointing to dash and causing various compatibility problems with custom scripts meant for sh. I’m running Gutsy so my sh points to dash as well.

Two quick ways to fix the problem is to either change #!/bin/sh in the script file to #!/bin/bash (which I did) or change the symlink for /bin/sh to point to bash instead of dash. I may opt for the latter but the former worked just fine to get my VPN client installed.

Liked it? Share it!
  • del.icio.us
  • Digg
  • email
  • Facebook
  • FriendFeed
  • Google Bookmarks
  • Reddit
  • Slashdot
  • Twitter
  • StumbleUpon
  • Yahoo! Buzz

Post a comment

Post Comment

Please note: Comments are moderated by an Admin and may not be publicly visible right away.


Creative Commons License This work by Peter Ridge is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.
Turbulent Sky Theme by Peter Ridge, based on BlueMod Theme by FrederikM.de