команда ssh не запускает скрипт perl - PullRequest
1 голос
/ 29 декабря 2010

У меня есть следующий скрипт perl

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

Я скопировал это на unix box, локально это работает нормально, но когда я пытаюсь запустить этот скрипт perl удаленно из другого окна, используя ssh, он не работает.

Я запускаю этот скрипт, используя следующую команду.

ssh username@hostname /tmp/testremote.pl

Он просто висит на STDIN и ничего не возвращает.

Любая идея, почему это не работает

Ответы [ 3 ]

5 голосов
/ 29 декабря 2010

Попробуйте добавить $|=1; после #!линия.

2 голосов
/ 29 декабря 2010

Возможно, ваш терминал STDIN неправильно перенаправлен на удаленный терминал.

Вы можете попробовать:

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

И если это сработает, это будет означать, что скрипт perlхорошо, но проблема в вашем перенаправлении.

0 голосов
/ 29 декабря 2010
ssh username@hostname '/tmp/testremote.pl'

Пожалуйста, попробуйте добавить одинарную кавычку в вашу команду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...