以下是相关内容:
extern fin;
char line[64];
if (argc<2 || ttyn(0)!='x') {
write(1, "goto error\n", 11);
seek(0, 0, 2);
return;
}
seek(0, 0, 0);
fin = dup(0);
请注意,整个代码中只有上面部分出现了“fin”。那么为什么要复制标准输入(在这种情况下是文件/脚本)并将其存储在fin中而不使用它呢?
您可以在此处找到完整的代码http://v6shell.org/history/goto.c,带有语法高亮的代码请参见http://pastebin.com/uAvANLdR 附注:这是K&R-C。 这里描述了使用的dup命令:http://man.cat-v.org/unix-6th/2/dup 更新: 我发现,实际上需要用到getchar命令。请看这里http://man.cat-v.org/unix-6th/3/getchar 但我仍然不明白为什么需要它。现在有人能解释一下吗?
fin
是一个外部变量,可能在其他地方被使用。 - P.P