首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以在shebang行中将perl的开关与/bin/env一起使用?

是否可以在shebang行中将perl的开关与/bin/env一起使用?
EN

Stack Overflow用户
提问于 2009-02-20 16:15:53
回答 3查看 4.2K关注 0票数 17

我想使用env运行perl -w。这在命令行上运行得很好

代码语言:javascript
复制
$ /bin/env perl -we 'print "Hello, world!\n"'
Hello, world!

但它在脚本中的shebang行上不起作用:

代码语言:javascript
复制
#!/bin/env perl -w
print "Hello, world!\n";

下面是错误:

代码语言:javascript
复制
/bin/env: perl -w: No such file or directory

显然,env不理解我传递给perl-w标志。怎么了?

EN

回答 3

Stack Overflow用户

发布于 2009-02-20 16:17:38

使用警告编译指示代替-w (适用于Perl的现代版本):

代码语言:javascript
复制
#!/bin/env perl
use warnings;
use strict;
票数 16
EN

Stack Overflow用户

发布于 2009-02-27 02:01:01

我认为提出"-w“与"use warnings”不同可能是有用的。-w将应用于您使用的所有包,“use warnings”将仅在词法上应用。您通常不希望使用或依赖"-w“

票数 5
EN

Stack Overflow用户

发布于 2011-09-28 11:10:27

值得注意的是,Mac OS X将shebang后面的字符解释为参数,因此在OS X上,以下操作将起作用:

代码语言:javascript
复制
#!/usr/bin/env perl -wT
enter code here

然而,由于使用#!/usr/bin/env的目的之一是促进跨平台兼容性,所以即使您主要使用Mac,也最好不要使用该语法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/570183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档