我经常使用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至少在我面前吐个错误...即使是hack也很好,因为它只是我的开发机器。
任何帮助我们都将不胜感激
发布于 2011-03-03 19:47:13
shebang行所做的一切就是告诉unix system()调用要使用哪个解释器。如果你指定了indexer.exe,那么你就是说你想让它使用 indexer.exe,所以这就是它将使用的。
如果您运行Indexer.exe,indexer.exe将决定要做什么。
Indexer.exe能理解shebang行吗?还是不想?
作为一种方便的,Perl将读取shebang行,如果不是Perl,它将为您调用另一个程序。
所以也许调用Perl而不是Indexer,它会做正确的事情?
https://stackoverflow.com/questions/5180103
复制相似问题