在Ubuntu上安装Bazel时出错

raf*_*man 3 ubuntu bazel

我正在尝试在我的EC2 Ubuntu机器上安装Bazel.我wget最新的Bazel版本下载.sh文件,然后运行它sh ./bazel-0.2.1-installer-linux-x86_64.sh.我收到以下错误:

./bazel-0.2.1-installer-linux-x86_64.sh: 106: ./bazel-0.2.1-installer-linux-x86_64.sh: Syntax error: "(" unexpected

查看.sh文件中的第106行,我看到以下行:function usage() {.不知道为什么(那条线会成为一个问题.

我已经使用其他安装尝试(bazel-0.2.1-installer-darwin-x86_64.sh,bazel-0.2.1-jdk7-installer-darwin-x86_64.sh,bazel-0.2.1-jdk7-installer-linux-x86_64.sh)和所有的人都在同一行同样的问题.

Jon*_*ler 6

函数的常规语法是:

function usage { … }
usage() { … }
Run Code Online (Sandbox Code Playgroud)

不是他们,不是组合?

但是,关于shell函数的Bash手册大致表明:

 function usage [()] { … }
Run Code Online (Sandbox Code Playgroud)

手册中的确切符号:

functionname[()]compound-command[redirections]

也许使用bash而不是sh工作?

bash ./bazel-0.2.1-install-linux-x86_64.sh
Run Code Online (Sandbox Code Playgroud)

并且评论表明这确实有效.