当前位置: 首页 > 面试题库 >

使用Perl执行Python脚本时,为什么没有语法错误?

郗奇玮
2023-03-14
问题内容

我刚刚在中编写了一些测试python代码test.py,并按如下方式启动它:

perl test.py

一段时间后,我意识到自己的错误。我之所以说“一段时间”,是因为Python代码实际上已正确执行,就像在Python解释器中一样!

为什么我的Perl解释我的Python?test.py看起来像这样:

#!/usr/bin/python

...Python code here...

有趣的是,如果我做相反的事情(即call python something.pl),则会遇到很多语法错误。


问题答案:

从perlrun,

如果该#!行既不包含单词“ perl”也不包含单词“
indir”,则将执行以命名的程序,#!而不是Perl解释器。这有点奇怪,但是它可以帮助那些不这样做的人#!,因为他们可以告诉程序其SHELL是
/ usr / bin / perl ,然后Perl会将程序分派给他们的正确解释器。

例如,

$ cat a
#!/bin/cat
meow

$ perl a
#!/bin/cat
meow


 类似资料:
  • 问题内容: 我的python脚本未在crontab下运行。 我将其放在顶部的python脚本中: 我尝试这样做: 添加到我的: 我的/ var / log / cron文件说: 但是我的脚本没有运行,因为当我检查sql数据库时,什么都没有改变。如果我像这样直接在终端中运行它: 我得到正确的结果。 这是: 每条评论:是的,存在。我也可以使用just直接运行python脚本。作品。所以我不相信这是原因

  • 脚本内容如下,没有写Shebang行 执行 ./xxx.sh,得到输出结果 y 执行 bash ./xxx.sh,得到输出结果 y 执行 zsh ./xxx.sh,得到输出结果 x zsh数组下标是从1开始的,所以zsh的结果应该是输出y。 MacOS默认的Shell是zsh,但是执行./xxx.sh结果却不是y

  • 我已经在我的系统中安装了python、pip和selenium,我正在基本站点上测试一个示例代码。 代码: 如何解决此问题?

  • 我正在开发一个简单的反应式编程脚本示例,以从Web下载图像,但是当我在VScode中执行脚本时,我没有得到任何类型的输出,我已经尝试创建一个VirtualEnv 在终端中,我得到以下输出: PS C:\用户\ernes\桌面\范例

  • 问题内容: 目标。当启动django框架时,还要启动其他依赖django对象的PY脚本。从配置文件获取服务器和端口号。 问题:Popen似乎运行了两次,我不确定为什么吗? 输出: 这是我的第一次尝试,因此,如果有人知道更好的方法,请随时告诉我。 谢谢大家。 问题答案: 您的代码正在启动命令,这将导致Django使用reloader,这反过来意味着您的代码将像在命令行中输入的那样被重新执行。如果您在

  • 我正在尝试使用spring xd执行pig代码段,但不能这样做。我使用以下命令创建了一个作业 PigTest作业定义在spring xd模块/作业目录中定义如下 已成功创建作业,但部署失败。日志文件如下所示: null