我意识到我应该只将shebang行包含在我们想要直接在
shell中运行的脚本中.我也没有在本地安装的任何大模块包中看到shebang行.
但是,如果人们可能因为我还没知道的其他原因而将其包括在内,我仍然很好奇.或者,如果可能存在类似(例如)〜’历史’的原因来包含它.或者,因为害怕我的房子爆炸,所以shebang线是否永远不会被包含在.pm文件(期间)中?
没有.
一个shebang将
文件标记为可执行
文件,并且模块通常不可执行.
一般来说,也有例外. Python有一个成语来检测当前文件是否是解释器调用的文件,并且很多模块在独立调用时使用它来运行它们的单元测试.这在Perl社区中并不常见,在社区中,您有额外的单元测试文件与CPAN上的模块捆绑在一起.
因此,即使考虑到这个可能的例外情况,我也不认为将shebang包含在模块文件中是不错的方式,而该文件并不是直接执行的.