加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

我可以在Unix Perl脚本中不使用shebang行吗?

发布时间:2022-12-12 15:32:29 所属栏目:Unix 来源:未知
导读: 我可以在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如果您关心的是硬编码一个恒定路径(例如#!/

我可以在第一行不是

#的地方编写Perl程序吗/路径/

谢谢。

只有在希望在shell提示符下直接调用脚本(例如,

/yourscript

)时,才需要shebang(

#!

)。您可以始终执行

perl-yourscript

并跳过shebang。

是,从

perldoc-perlrun

(在

-S

开关下):

有关完整的故事,请参阅该文档。

如果这样做,则需要显式调用Perl。如果有这一行,那么系统知道它是一个Perl脚本,因此当您使脚本可执行时,您可以只编写./script

如果您关心的是硬编码一个恒定路径(例如#!/usr/bin/Perl而不是#!/usr/local/bin/Perl),那么使用:

#!/usr/bin/env perl

这允许在您的路径中查找Perl解释器,使您的脚本更具可移植性(Windows除外)。

nice!谢谢,这${1+“$@}是干什么用的?这是错误评估吗?它相当于Bourne shell的现代实现上的“$@”

。较旧的

sh

实现需要使用更复杂的表达式。如果定义了$1,则将参数扩展到“$@”,这是所有参数的列表unix打印,每个参数都引用。如果未定义$1,则不展开任何内容。在旧的shell实现中是必需的,因为只有“$@”(带引号)将扩展为空字符串的单个参数。请参阅Unix或Windows(或??)。Windows不关心第一行是什么,尽管perl仍然支持#上的选项!对不起,我应该提一下,Unix:)你为什么要这样?舍邦有什么问题?学习新事物没有坏处:)是的。去掉shebang行,而不是键入“my_prog”,键入“perl my_prog”。那里那不是更好吗?

#!/usr/bin/env perl

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章