gpt4 book ai didi

c - rsh 正在删除双引号

转载 作者:太空宇宙 更新时间:2023-11-04 03:46:06 26 4
gpt4 key购买 nike

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

例如:我的命令rsh 10.20.1.25 my_pgm -g "NAME1 NAME2"在远程外壳中my_pgm -g 姓名 1 姓名 2

我也想在远程 shell 中为 -g 选项加上双引号。有什么想法吗?

最佳答案

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

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

Actually, My C program is like this 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\\\"");

关于c - rsh 正在删除双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24324219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com