我刚刚在test.py
中编写了一些测试python代码,并按如下方式启动它:
perl test.py
过了一段时间,我意识到我错了。我之所以说“过一段时间”,是因为Python代码实际上可以正确执行,就像在Python解释器中一样!
为什么我的Perl要解释我的Python?test.py
看起来像这样:
#!/usr/bin/python
...Python code here...
有趣的是,如果我做相反的事情(即调用python something.pl
),我会得到大量的语法错误。
发布于 2015-04-10 22:25:08
来自perlrun,
如果#!
行既不包含单词" Perl“也不包含单词"indir”,则执行以#!
命名的程序,而不是执行Perl解释器。这有点奇怪,但它可以帮助不执行#!
的机器上的人,因为他们可以告诉程序他们的外壳是/usr/bin/ Perl,然后Perl会为他们将程序分派到正确的解释器。
例如,
$ cat a
#!/bin/cat
meow
$ perl a
#!/bin/cat
meow
https://stackoverflow.com/questions/29563832
复制相似问题