Reputation: 195
This must be an easy one. I'd like to install Homebrew via a shell script on OS X.
Homebrew's recommended installation from the terminal works,
$ ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go)
but if I put the following in a file test.sh,
#!/bin/sh
ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go)
then execute it,
$ sh test.sh
I receive the following error:
test.sh: line 2: syntax error near unexpected token `('
test.sh: line 2: `ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go)'
What is the correct syntax to use in a shell script to get this to work and why is it different from the command line? Thanks!
Upvotes: 3
Views: 5904
Reputation: 6623
It's complaining because sh
doesn't have that syntax, but bash
does. Use #!/bin/bash
instead.
Also, no need to use the sh
command to execute shell scripts (that's the whole point of putting the hashbang!). Just chmod +x script.sh
and invoke with ./script.sh
Upvotes: 6
Reputation: 44311
When you run bash
as sh
it emulates sh
, which has many fewer features than bash
(including one you're trying to use here). Use /bin/bash
instead.
Upvotes: 1