我正在用 C 编写自己的 shell,我需要检测 EOF(当我运行时./myshell < commands.txt)
commands.txt 包含:
ls
pwd
这些都在程序中单独运行良好。但是当我用文本文件运行它时,我得到一个无限循环。
在我while(1)的 shell 循环中,我做的第一件事是:
if (feof(stdin)) { my_exit(); }
my_exit很简单:
void my_exit() {
printf("End of file! Bye\n");
exit(0);
}
不exit(0)结束程序(和循环)?为什么我越来越
文件结束!文件结束!文件结束!文件结束!文件结束!文件结束!再见....等
我也尝试过这样做fgets == NULL。相同的循环