HTML调用Perl Perl调用脚本脚本SSH不起作用

时间:2015-01-10 21:57:07

标签: html linux bash perl

我能够将一个变量从HTML表单传递给一个简单的perl脚本。这是perl脚本的主线。

 system("/var/www/cgi-bin/aaa $name")

perl脚本调用一个名为aaa的bash脚本。 如你所见,我传递$ name,这是我的html表单中的条目到aaa bash脚本。 在我的bash脚本中,我可以将$ name作为$ 1回显,或者将$ 1分配给$ name。 所以到目前为止一切顺利。这就是我想要的方式。但是在我的aaa bash脚本中 我在aaa脚本中有一个ssh命令无效。不管有多少不同的方式 我试过它只是不工作。如果我从命令行运行aaa脚本命令并传递参数,脚本工作正常,但是当我通过perl尝试它时它失败了。

我现在的ssh命令非常简单。所以我的aaa bash文件包含一个简单的行

 echo $1      
 ssh $1 "ls -altr" > /var/www/cgi-bin/output

如果我从命令行调用此脚本(aaa serverx)它工作正常。 现在我通过html表单完成它,唯一有效的是echo $ 1命令。 另一个词我可以看到我正在传递正确的服务器名称(例如serverx),当我回显$ 1时,我可以看到serverx。但是,ssh行失败了。不确定该怎么办?有人可以帮忙吗?

此致

1 个答案:

答案 0 :(得分:0)

理想情况下,您应该在Perl脚本中执行操作,不需要aaa脚本。可能有很多原因导致ssh无法正常工作,可能只是因为您关闭了较高级别的STDIN,STDOUT或启用了重定向?这可能只是解释了为什么它可以从命令行运行而不是从另一个包装器运行..您是否尝试在perl脚本中运行ssh并查看它是否有效?是否可以共享代码片段的某些部分?