我可以写一个没有第一行的 Perl 程序#!/path/
吗?
谢谢你。
#!
仅当您想在 shell 提示符下直接调用脚本时才需要shebang ( ),例如./yourscript
. 你总是可以perl yourscript
跳过shebang。
如果您关心的是硬编码一个常量路径(例如 #!/usr/bin/perl 而不是 #!/usr/local/bin/perl),那么使用:
#!/usr/bin/env perl
这允许在您的 PATH 中寻找 Perl 解释器,从而使您的脚本更具可移植性(Windows 除外)。
是的,从perldoc perlrun
(在-S
开关下):
#!/bin/sh
eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}'
if $running_under_some_shell;
有关完整的故事,请参阅该文档。
如果你这样做,那么你需要显式调用 Perl。如果该行存在,则系统知道它是 Perl 脚本,因此当您使脚本可执行时,您只需编写 ./script