1

我经常使用 Sphinx。有一个索引以一个参数作为输入调用存储过程。参数可以是 1 到 10 之间的任意数字,每个返回不同的结果。因为它会使 sphinx 配置非常拥挤,即使是继承。所以我想我会在 sphinx 配置文件的开头使用 shebang 行(现在存储为 sphinx.py)。这在生产环境中非常有效,因为它在 Ubuntu 上运行。但我也想在我的本地机器上运行它,但这里有个问题叫 - Windows。因为我也有 cygwin,所以我尝试通过 cygwin 运行它,但它是一样的 - 没有任何反应。

我尝试使用 cygwin 路径和 windows 路径运行,但都被忽略或视为注释。根据我的阅读,它应该与 cygwin 一起使用。难道是因为我必须调用一个exe文件,所以它不起作用?

和:

$ ./indexer.exe sphinx.conf

我试图将它作为 perl 脚本、bash 脚本(通过 cygwin)运行,但无论哪种方式都会被忽略。

是否有可靠的方法在 Windows 上运行 shebang 行?或者强制 cygwin 至少在我的脸上吐出一个错误......即使是黑客也很好,因为它只是我的开发机器。

任何帮助表示赞赏

4

1 回答 1

0

shebang 行所做的只是告诉 unix system() 调用使用什么解释器。如果您指定 indexer.exe,那么您就是说您希望它使用 indexer.exe,这就是它将使用的内容。

如果您运行 Indexer.exe,indexer.exe 将决定做什么。

Indexer.exe 是否理解 shebang 行?或不?

Perl,为方便起见,会读取 shebang 行,如果不是 Perl,它会为你调用另一个程序。

所以也许调用 Perl 而不是 Indexer,它会做正确的事吗?

于 2011-03-03T11:47:13.007 回答