3

我正在尝试在我的 EC2 Ubuntu 机器上安装Bazel 。wget我从最新的 Bazel 版本下载 .sh 文件,然后使用 .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),并且所有安装程序在同一行都有相同的问题。

4

2 回答 2

6

函数的正常语法是:

function usage { … }
usage() { … }

不是他们,不是组合吗?

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

 function usage [()] { … }

手册中的确切符号:

functionname[()]compound-command[redirections]

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

bash ./bazel-0.2.1-install-linux-x86_64.sh

评论表明这确实有效。

于 2016-04-04T17:18:29.880 回答
0

Bazel 安装程序脚本已更新为使用语法usage() {(无“功能”)

于 2018-02-09T22:48:56.720 回答