这一定很容易。我想在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脚本中使用的正确语法是什么,以使其工作,为什么它与命令行不同?谢谢!
答案 0 :(得分:6)
这是抱怨,因为sh
没有该语法,但bash
有。{1}}。请改用#!/bin/bash
。
此外,不需要使用sh
命令来执行shell脚本(这就是放入hashbang的重点!)。只需chmod +x script.sh
并使用./script.sh
答案 1 :(得分:1)
当您bash
作为sh
运行时,它会模拟sh
,其功能比bash
少得多(包括您在此处尝试使用的功能)。请改用/bin/bash
。