通过ssh从远程终端获取提示

时间:2013-01-03 10:09:39

标签: c ssh

我有一个简单的程序测试,它将一个数字作为输入并在控制台上打印出来。

#include<stdio.h>
int main(void)
{
   int i;
   printf("Test Pgm \n");
   printf("Enter a no:");
   scanf("%d",&i);
   printf("No Inputted:%d \n",i);
   return 0;
}

//以上程序位于10.220.5.xx(不同的机器)

##gcc -o test test.c

在通过ssh调用另一台机器的测试pgm时,我没有在我正在执行的机器上得到任何提示。

$ ssh user@10.220.3.xx '/home/user/test'
user@10.220.3.xx's password

输入密码后,我甚至看不到任何“Test Pgm”。如何远程获取提示并输入值?

1 个答案:

答案 0 :(得分:1)

尝试在fflush(stdout);之前添加scanf()

此外,您必须检查scanf()的返回值,如果给出非数字文本,它可能无法转换输入:

fflush(stdout);
if(scanf("%d", &i) == 1)
  printf("Number input: %d\n", i);