我想使用env
运行perl -w
。这在命令行上运行得很好
$ /bin/env perl -we 'print "Hello, world!\n"'
Hello, world!
但它在脚本中的shebang行上不起作用:
#!/bin/env perl -w
print "Hello, world!\n";
下面是错误:
/bin/env: perl -w: No such file or directory
显然,env
不理解我传递给perl
的-w
标志。怎么了?
发布于 2009-02-20 16:17:38
使用警告编译指示代替-w
(适用于Perl的现代版本):
#!/bin/env perl
use warnings;
use strict;
发布于 2009-02-27 02:01:01
我认为提出"-w“与"use warnings”不同可能是有用的。-w将应用于您使用的所有包,“use warnings”将仅在词法上应用。您通常不希望使用或依赖"-w“
发布于 2011-09-28 11:10:27
值得注意的是,Mac OS X将shebang后面的字符解释为参数,因此在OS X上,以下操作将起作用:
#!/usr/bin/env perl -wT
enter code here
然而,由于使用#!/usr/bin/env的目的之一是促进跨平台兼容性,所以即使您主要使用Mac,也最好不要使用该语法。
https://stackoverflow.com/questions/570183
复制相似问题