我可以在Unix Perl脚本中不使用shebang行吗?
perlunix
我可以在Unix Perl脚本中不使用shebang行吗?,perl,unix,shebang,Perl,Unix,Shebang,我可以在第一行不是#的地方编写Perl程序吗/路径
我可以在Unix Perl脚本中不使用shebang行吗? perlunix 我可以在Unix Perl脚本中不使用shebang行吗?,perl,unix,shebang,Perl,Unix,Shebang,我可以在第一行不是#的地方编写Perl程序吗/路径/谢谢。只有在希望在shell提示符下直接调用脚本(例如,/yourscript)时,才需要shebang(#!)。您可以始终执行perl-yourscript并跳过shebang。是,从perldoc-perlrun(在-S开关下):有关完整的故事,请参阅该文档。如果这样做,则需要显式调用Perl。如果有这一行,那么系统知道它是一个Perl脚本,因此当您使脚本可执行时,您可以只编写./script如果您关心的是硬编码一个恒定路径(例如#!/ 我可以在第一行不是
谢谢。 只有在希望在shell提示符下直接调用脚本(例如,
)时,才需要shebang(
)。您可以始终执行
并跳过shebang。 是,从
(在
开关下): 有关完整的故事,请参阅该文档。 如果这样做,则需要显式调用Perl。如果有这一行,那么系统知道它是一个Perl脚本,因此当您使脚本可执行时,您可以只编写./script 如果您关心的是硬编码一个恒定路径(例如#!/usr/bin/Perl而不是#!/usr/local/bin/Perl),那么使用:
这允许在您的路径中查找Perl解释器,使您的脚本更具可移植性(Windows除外)。 nice!谢谢,这${1+“$@}是干什么用的?这是错误评估吗?它相当于Bourne shell的现代实现上的“$@” 。较旧的
实现需要使用更复杂的表达式。如果定义了$1,则将参数扩展到“$@”,这是所有参数的列表unix打印,每个参数都引用。如果未定义$1,则不展开任何内容。在旧的shell实现中是必需的,因为只有“$@”(带引号)将扩展为空字符串的单个参数。请参阅Unix或Windows(或??)。Windows不关心第一行是什么,尽管perl仍然支持#上的选项!对不起,我应该提一下,Unix:)你为什么要这样?舍邦有什么问题?学习新事物没有坏处:)是的。去掉shebang行,而不是键入“my_prog”,键入“perl my_prog”。那里那不是更好吗?
(编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |