2014-06-20 192 views
1

rsh命令刪除遠程shell中的雙引號。rsh刪除雙引號

例如: 我的命令 RSH 10.20.1.25 my_pgm -g 「NAME1 NAME2」 在遠程shell my_pgm -g NAME1 NAME2

我想在遠程shell太-g選項雙引號。任何想法?

回答

1

爲了逃避雙引號內的字符串中使用反斜槓:

rsh 10.20.1.25 my_pgm -g "\"NAME1 NAME2\"" 

其實,我的C程序是這樣的sprintf(cmd_string, 「RSH 10.20.1.25 my_pgm -g \」 NAME1 NAME2 \ 「」);

好了,你的意思是使用system(),看到echo輸出:

#include <stdlib.h> 

int main(void) 
{ 
    system("echo \"NAME1 NAME2\""); /* output: NAME1 NAME2 */ 
    system("echo '\"NAME1 NAME2\"'"); /* output: "NAME1 NAME2" */ 

    return 0; 
} 

翻譯成你的(注意周圍NAME1 NAME2單引號和雙引號):

sprintf(cmd_string, "rsh 10.20.1.25 my_pgm -g '\"NAME1 NAME2\"'");

或者正如@nos指出的那樣:

sprintf(cmd_string, "rsh 10.20.1.25 my_pgm -g \\\"NAME1 NAME2\\\""); 
+1

其實我的C程序是這樣的 sprintf(cmd_string,「rsh 10.20.1.25 my_pgm -g」NAME1 NAME2 \「」); 我現在應該做什麼? – suren

+1

\\\「NAME1 NAME2 \\\」 – nos

+0

@nos,好點,編輯 –