我有以下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上,不会返回任何内容。
知道为什么这不起作用吗?
答案 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'
请尝试在命令中添加单引号。