我将我的机器从Perl5.6更新到centOS 5.10,并且以下centOS代码停止工作:
#!/usr/bin/perl -w
$ENV{TEST}="() {
echo 'Hello world!'
}";
system("echo 'hope it works!' ; TEST");5.6中的输出:
hope it works!
Hello world!5.10中的输出:
hope it works!
sh: TEST: command not found由于某些原因,我无法再从Perl中设置函数!?!看起来bash和Perl版本是一样的,不确定它还能是什么?
发布于 2014-12-09 04:18:38
bash中的extremely serious bug已修复。严重性不可低估,因为它允许人们在许多web服务器上执行任意代码。
您仍然可以在bash中定义函数。
$ TEST() { echo 'Hello world!'; }
$ TEST
Hello world!或者对你来说,
$ perl
system("TEST() { echo 'Hello world!'; }; echo 'hope it works!'; TEST");
^D
hope it works!
Hello world!https://stackoverflow.com/questions/27365911
复制相似问题