rsh命令正在删除远程shell中的双引号。
例如:我的命令rsh10.20.1.25 my_pgm -g -g "NAME1 NAME2“在远程shell my_pgm -g NAME1 NAME2中
我想要-g选项的双引号在远程shell中也。有什么想法吗?
发布于 2014-06-20 09:44:21
若要在字符串中转义双引号,请使用反斜杠:
rsh 10.20.1.25 my_pgm -g "\"NAME1 NAME2\""实际上,我的C程序就像这个sprintf(cmd_string,“rsh10.20.1.25 my_pgm -g \"NAME1 NAME1 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;
}翻译到你的(注单引号和双引号围绕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\\\"");https://stackoverflow.com/questions/24324219
复制相似问题