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