为什么在终端中运行这个shell脚本时会出错?

时间:2011-07-13 20:56:56

标签: php macos terminal doctrine-orm

我正在尝试使用Codeigniter 2处理Doctrine 2,并且在尝试启动和运行Doctrine控制台时遇到了问题,这涉及执行运行几行php的shell脚本。

我正在使用它作为参考: Integrating Doctrine 2 with CodeIgniter 2

我是OSX的新手,也是unix命令的新手,但我确信我已正确设置shell脚本,如下所示:

#!/usr/bin/env php
<?php
chdir(dirname(__FILE__));
include('doctrine.php');

我在同一目录中有php文件doctrine.php。

每当我尝试使用以下命令运行脚本时

bash doctrine

我收到此错误:

doctrine: line 2: ?php: No such file or directory
doctrine: line 3: syntax error near unexpected token `dirname'
doctrine: line 3: `chdir(dirname(__FILE__));'

在我看来,php根本就没有运行。我觉得我做了一些相当基本的错误!

任何帮助表示赞赏, 标记

1 个答案:

答案 0 :(得分:4)

这是一个PHP脚本,而不是bash脚本。

php doctrine

如果您打算使用shebang行,那么您需要使其可执行并直接运行。

chmod +x doctrine
./doctrine