【发布时间】:2011-07-30 09:21:50
【问题描述】:
我经常在命令行上这样写单行代码:
perl -Magic -wlnaF'\t' -i.orig -e 'abracadabra($_) for (@F)'
为了编写脚本,我可以将相同的标志传递给 shebang 行:
#!/usr/bin/perl -Magic -wlnaF'\t' -i.orig
abracadabra($_) for (@F);
但是,这样做有两个问题。首先,如果有人通过将脚本直接传递给 perl 来调用脚本(作为 'perl script.pl',而不是 './script.pl'),则忽略标志。此外,我不能为此使用“/usr/bin/env perl”,因为显然我不能在使用 env 调用 perl 时将参数传递给它,所以我不能使用不同的 perl 安装。
有没有办法告诉脚本“嘿,总是像使用 -wlnaF'\t' -i.orig 调用你一样运行”?
【问题讨论】:
-
Perl 重新扫描 #!行,不管它是如何被调用的。
-
是的,但是一旦你
chmod +x'd 它就不会有太大作用了。
标签: perl