如果在python脚本中没有指定,那么默认的shebang是什么?

and*_*ndy 1 python shebang

什么是默认的shebang是在python脚本中指定的,如下所示.

print "hello world"
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 7

没有默认的shebang.

一个shebang不是Python语法,它是你的shell在Unix(类似)系统上使用的一个提示,用于找到一个适当的可执行文件来运行脚本,如果在第一行找到并且文件是可执行的.如果缺少该行,则执行通常会失败,因为shell 可能会尝试将该文件作为shell命令执行.

某些操作系统(特别是Windows)具有不同的机制来查找可执行文件.例如,他们可以将文件扩展名映射到可执行文件.在这种情况下,任何shebang线都会被忽略.

有关更多详细信息,请参阅Wikipedia上的Shebang(Unix)Python Windows FAQ.Python 3有一些改进的Windows执行支持,请参阅在Windows上使用Python ; 该py发射器实际上将要派遣阅读家当到正确的Python解释器.

  • 执行不一定会失败.假设文件在bash中是可执行的,该文件将被解释为shell,并且每行都将被执行,就像它是一个简单的shell脚本一样 (2认同)