回答
你可以通過在家當線PERL5OPT環境變量:
這似乎對我而言倒退一些。
另一種選擇是,如果你發現它不是在感染模式重新執行該腳本:
3210很顯然,這是一個重大的啓動性能損失。
你實際上不能用/ usr/bin/env在shebang中指定一個變量。這樣做會導致env在無限循環中執行自己,甚至不會獲得所要求的命令。我對Linux和FreeBSD都進行了測試。 – Zed 2014-11-20 21:52:20
是的 - 它似乎只是OS-X,目前支持第一個咒語。 – 2015-01-06 14:30:10
由於污染模式只能通過-T
標誌被啓用,並且env
不會接受在shebang行的任何標誌,最好的選擇是通過perl -T script.pl
運行的程序,而不是直接執行腳本。
如果您確實需要強制執行污染模式的家當,你可以用下面的內容做一個taintperl
腳本某處在PATH(例如,/ usr/local/bin目錄):
#!/bin/sh
/usr/bin/env perl -T
然後在你的Perl腳本,有
#!/usr/bin/env taintperl
在許多操作系統上,你不能使用解釋腳本作爲腳本解釋器。您必須以編譯的語言來完成此操作,例如C# – 2010-03-27 11:31:33
@GavinBrock對'#!'後面提到的程序是這樣的。這裏是編譯的'/ usr/bin/env'。反過來,'env'並不關心'taintperl'是否是一個編譯好的程序。 – maxelost 2016-03-10 23:40:49
- 1. PHP中的Perl污點模式
- 2. Perl:我如何在linux中設置.pl文件的perl版本
- 3. 如何在Perl腳本中運行Perl腳本?
- 4. Perl如何處理shebang行?
- 5. 我可以在Unix Perl腳本中沒有shebang行嗎?
- 6. 如何在適用於子級的Perl腳本中設置ulimit?
- 7. 找到一個Perl的污點模式錯誤
- 8. 如何從perl腳本中守護一個perl腳本?
- 9. Perl腳本中的Perl內聯替換
- 10. 如何在污染模式下從Perl CGI調用/ sbin/iptables?
- 11. 在Linux bash腳本中的Perl腳本
- 12. perl的+從Perl腳本
- 13. 如何在java中執行perl腳本?
- 14. 如何在Perl腳本中按Ctrl-Z
- 15. 如何在Perl腳本中使用Awk?
- 16. 如何在Perl腳本
- 17. 使用Perl的Tk調試器,如何在我的Perl庫中設置斷點?
- 18. 有條件的Perl Shebang?
- 19. 如何在perl中從網站執行一個perl腳本?
- 20. 在Perl腳本中執行一個setuid perl腳本
- 21. 在另一個perl腳本中打印perl腳本?
- 22. Perl正則表達式在腳本中找不到模式
- 23. 如何在另一個perl腳本中調用一個perl腳本?
- 24. 如何退出perl腳本中的chroot?
- 25. 如何在MSYS中設置Strawberry Perl?
- 26. 如何設置在Perl
- 27. 如何設置$!在perl
- 28. Perl腳本中的SQL * Plus
- 29. Perl中的分割腳本
- 30. PHP中的Perl腳本
如果無法預測perl二進制文件(/ usr/bin或/ usr/local/bin)的位置,它會有所幫助。 http://www.perlmonks.org/?node_id=716740 - 我想問題是你是否可以預測env的位置... – 2010-03-27 16:18:48
在我的電腦上,我使用/ usr/local/bin/perl和我的上網本/ USR /斌/ perl的。因此,使用/ usr/bin/env perl我不必更改我的perl腳本。我想他們會用perl-version 5.10.1發佈我的操作系統的下一個版本,所以也許我會在我的PC上再次使用/ usr/bin/perl的onboard-perl,在那裏我也不需要改變我的shebangs。 – 2010-03-28 14:13:04
加文,'env'的位置是標準化的。 – daxim 2010-03-29 11:22:43