C rsh正在删除双引号

C rsh正在删除双引号,c,rsh,C,Rsh,rsh命令正在删除远程shell中的双引号 例如: 我的命令 rsh 10.20.1.25车型年款-g“名称1名称2” 在远程shell中 我的pgm-g名称1名称2 我希望远程shell中的-g选项也使用双引号。有什么想法吗?要在字符串中转义双引号,请使用反斜杠: rsh 10.20.1.25 my_pgm -g "\"NAME1 NAME2\"" 实际上,我的C程序就像这个sprintf(cmd_字符串,“rsh 10.20.1.25我的pgm-g“名称1名称2”) 好的,您的意思是使用s

rsh命令正在删除远程shell中的双引号

例如: 我的命令 rsh 10.20.1.25车型年款-g“名称1名称2” 在远程shell中 我的pgm-g名称1名称2


我希望远程shell中的-g选项也使用双引号。有什么想法吗?

要在字符串中转义双引号,请使用反斜杠:

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

实际上,我的C程序就像这个sprintf(cmd_字符串,“rsh 10.20.1.25我的pgm-g“名称1名称2”)

好的,您的意思是使用
system()
,请参见
echo
上的输出:

#include <stdlib.h>

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

    return 0;
}

实际上,我的C程序就像这个sprintf(cmd_字符串,“rsh 10.20.1.25 My_pgm-g \“NAME1 NAME2\”);我现在该怎么办?
sprintf(cmd_string, "rsh 10.20.1.25 my_pgm -g \\\"NAME1 NAME2\\\"");