我正在制作自己的shell并设置了fork/exec的内容来执行程序。对于没有'/'的命令,我搜索带有可执行文件的目录的PATH环境。但是,当我尝试在shell中使用clear时,告诉我TERM环境变量未设置。我想知道是否有事情做与此:unix“clear”TERM环境变量未设置
execve(args[0], args, environ);
其中ENVIRON =
char* environ[] = {NULL};
有什么我需要把在那里?不希望使用execvp。任何帮助表示赞赏
是的,它与此有很大关系。您需要在环境中包含TERM和其他值 - HOME,PATH立即启发。检查POSIX的最小设置。 –