Передача аргументов Plink

plink [email protected] -t '/home/user/test/testpgm'

Я могу запустить приведенную ниже программу, которая находится на компьютере с Linux, с компьютера с Windows, используя указанную выше команду plink.

#include<stdio.h>
int main(int argc,char *argv[])
{
   int i;
   char buf[30];
   printf("Test Pgm \n");
   printf("No of Arguments=%d\n",argc);
   printf("Enter a string:");
   fflush(stdout);
   gets(buf);
   printf("Input str:%s \n",buf);

   return 0;
}

gcc test.c -o testpgm

Вопрос: Как передать аргументы командной строки этой функции? Я попытался

plink [email protected] -t '/home/user/test/testpgm arg1'

bash: /home/user/test/testpgm arg1: No such file or directory

person m4n07    schedule 15.01.2013    source источник


Ответы (2)


Оболочка обрабатывает строки внутри кавычек как одно слово, что означает, что plink пытается выполнить программу /home/user/test/testpgm arg1. Очевидно, это не сработает.

То, что вам нужно сделать, очень просто: пропустите кавычки!

$ plink [email protected] -t /home/user/test/testpgm arg1
person Some programmer dude    schedule 15.01.2013

Я попытался

plink [email protected] /home/user/test/testpgm arg1

Работает отлично.

person fwu    schedule 15.01.2013