I presumed you were communicating with this shell through a pipe. How are you communicating with the shell?
| [reply] |
No, I am writing the programm which installs ssh keys on remote servers.
my @servers = ('j5');
foreach my $server (@servers)
{
my $cmd = "bash";
if (system($cmd))
{
print "$cmd failed\n";
next;
}
my $res = qx(ssh $server);
if ($res =~ m/RSA\skey\sfingerprint/)
{
HERE I NEED TO ANSWER YES/NO AND PRESS ENTER
| [reply] |
You need something like IPC::Open2 instead of qx() since you want 2-way communication with ssh. qx() only allows to receive from the child process.
That said, you're probably better off using Expect and let it worry about the nitty gritty parent-child communication details.
| [reply] [d/l] [select] |
If you use (y/n) instead of yes/no, you can do it like this
my $response = <STDIN>;
chomp($response);
if (lc($response) eq 'y') { ...etc
| [reply] [d/l] |