ssh命令没有运行perl脚本

时间:2010-12-29 06:19:10

标签: perl unix ssh

我有以下perl脚本

#!/usr/bin/perl
$userinput =  <STDIN>;
chomp ($userinput);
while ( $userinput ne "DONE")
{
        print STDOUT "User typed ----->  $userinput\n";
        $userinput =  <STDIN>;
        chomp ($userinput);
}

我已经在unix框上复制了这个,本地工作正常但是当我尝试使用ssh从另一个框远程运行这个perl脚本时,它不起作用。

我正在使用以下命令运行此脚本。

ssh username@hostname /tmp/testremote.pl

它只挂在STDIN上,不会返回任何内容。

知道为什么这不起作用吗?

3 个答案:

答案 0 :(得分:5)

尝试在#后添加$|=1;!线。

答案 1 :(得分:2)

您的终端STDIN可能未正确重定向到远程终端。

您可以尝试:

ssh username@hostname 'echo bla bla bla | /tmp/testremote.pl'

如果这有效,它将指示perl脚本正常,但问题是你的重定向。

答案 2 :(得分:0)

ssh username@hostname '/tmp/testremote.pl'

请尝试在命令中添加单引号。