我可以在shebang行中使用perl的交换机和/ bin/env吗?
发布时间:2020-12-15 21:18:48 所属栏目:大数据 来源:网络整理
导读:我想使用env运行perl -w。在命令行中工作正常: $ /bin/env perl -we 'print "Hello,world!n"'Hello,world! 但是它在脚本中的shebang行上不起作用: #!/bin/env perl -wprint "Hello,world!n"; 这是错误: /bin/env: perl -w: No such file or directory
我想使用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标志。怎么了? 解决方法
hash-bang不是一个正常的shell命令行,解析和空格处理是不同的 – 这就是你打的。看到:
> http://www.in-ulm.de/~mascheck/various/shebang/ 基本上很多/大多数unix将所有剩下的文本放在第一个空格之后变成一个参数。 所以: #!/bin/env perl -w 相当于: /bin/env "perl -w" 所以您需要以其他方式处理perl解释器的任何选项。即 use warnings; (如@ Telemachus) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |