Chinaunix

标题: shell下执行sed正常,为何用C的system执行sed却报错? [打印本页]

作者: Coldiceangel    时间: 2013-02-03 11:50
标题: shell下执行sed正常,为何用C的system执行sed却报错?
shell:
export MODULE=sshd
sed "/$MODULE\[/d" logfile
sed '/'$MODULE'\[/d' logfile均能得到我想要的结果

C代码:
char logfile[] = "logfile";
char module_str[] = "sshd";
char env_str[64] = {0};
int offset = 0;

strcpy(env_str, "MODULE=");
offset += strlen("MODULE=");
strcpy(env_str + offset, module_str);
putenv(env_str);
system("sed \"/$MODULE\[/d\" logfile");
执行时报错:
sed: unmatched '/'

该怎么修改system调用?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2