我可以在Unix Perl脚本中不使用shebang行吗?
- 作者: 五速梦信息网
- 时间: 2026年03月19日 18:07
我可以在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
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
相关文章
-
巴德士集团董事长方学平:广东省社会公益事业先行者
巴德士集团董事长方学平:广东省社会公益事业先行者
- 技术栈
- 2026年03月19日
-
在Windows Server中使用IPsec时,“主”模式和“快速”模式有什么
在Windows Server中使用IPsec时,“主”模式和“快速”模式有什么
- 技术栈
- 2026年03月19日
-
在父表单中调用方法并在c#中以父表单访问gui元素的最佳实践
在父表单中调用方法并在c#中以父表单访问gui元素的最佳实践
- 技术栈
- 2026年03月19日
-
沪尚茗居徐泽宇:始终从用户角度出发 深耕研发与服务
沪尚茗居徐泽宇:始终从用户角度出发 深耕研发与服务
- 技术栈
- 2026年03月19日
-
谁是热水器的首选品牌?中怡康:用户首选海尔
谁是热水器的首选品牌?中怡康:用户首选海尔
- 技术栈
- 2026年03月19日
-
守望相助共抗时艰!紫荆花涂料集团追加捐赠2.5吨75%酒精
守望相助共抗时艰!紫荆花涂料集团追加捐赠2.5吨75%酒精
- 技术栈
- 2026年03月19日






