- 论坛徽章:
- 0
|
(linux下)本人做一个简单命令解释器,用fgets()读入命令可以完全正常执行,改用readline库以后,遇到 ls | grep sh这类命令就出现段错误,有时候运行前一两次正常,第三次就出错了。
运行后台进程&的运行也有问题,用fg命令把后台进程移到前台时,bash的输入看不见了。。。奇怪的很
大家帮帮忙吧,不知道readline()和fgets()之间有什么区别,应注意些什么?
代码:
if(command)
{
free(command);
command = (char *)NULL;
}
command = readline("myshell>>");
command[strlen(command)] = '\0';
nextCommand = command;
上面是使用readline ^ 下面是fgets:
if (!fgets(command, MAX_COMMAND_LEN, stdin)) {
…………
}
command[strlen(command) - 1] = '\0';
不知道这两个command有什么不同?
[ 本帖最后由 foollan 于 2007-5-30 21:34 编辑 ] |
|