我可以在Unix Perl脚本中没有shebang行吗?

时间:2011-11-18 21:08:36

标签: perl unix shebang

我可以写一个Perl程序,我的第一行不是#!/path/吗?

谢谢。

4 个答案:

答案 0 :(得分:8)

仅当您想要在shell提示符下直接调用脚本时,才需要shebang(#!),例如./yourscript。你可以随时perl yourscript跳过shebang。

答案 1 :(得分:6)

如果您的问题是对常量路径进行硬编码(例如#!/ usr / bin / perl而不是#!/ usr / local / bin / perl),请使用:

#!/usr/bin/env perl

这允许在你的PATH中寻找Perl解释器,使你的脚本更便携(Windows旁边)。

答案 2 :(得分:4)

是的,来自perldoc perlrun-S开关下):

#!/bin/sh
eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}'
    if $running_under_some_shell;

请参阅完整故事的文档。

答案 3 :(得分:0)

如果你这样做,那么你需要明确地调用Perl。如果该行存在,则系统知道它是Perl脚本,因此当您使脚本可执行时,您只需编写./script