3

这一定很容易。我想通过 OS X 上的 shell 脚本安装 Homebrew。

Homebrew 推荐从终端安装,

$ ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go)

但是如果我将以下内容放入文件test.sh

#!/bin/sh
ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go)

然后执行它,

$ sh test.sh

我收到以下错误:

test.sh: line 2: syntax error near unexpected token `('
test.sh: line 2: `ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go)'

在 shell 脚本中使用什么正确的语法来使它工作,为什么它与命令行不同?谢谢!

4

2 回答 2

6

它在抱怨,因为sh没有那种语法,但是bash有。改为使用#!/bin/bash

此外,无需使用sh命令来执行 shell 脚本(这就是放置 hashbang 的重点!)。只是chmod +x script.sh和调用./script.sh

于 2012-08-20T17:54:23.990 回答
1

当您以 emulates 方式运行bash时,shsh的功能比bash(包括您在此处尝试使用的功能)少得多。改为使用/bin/bash

于 2012-08-20T17:54:42.167 回答