|
发表于 2006-3-3 09:43:49
|
显示全部楼层
请教Johnny_jiang兄有关9楼10楼的两个程序:
两个程序我都把代码拷了下来放到本地机器上执行了一下,结果都有一个问题,就是程序执行完毕后不能输出shell符,即像
esxsuse2:/home#
这种样子,10楼的程序在我机器上运行也没有任何输出,我分析了一下,怀疑是两个程序执行到最后都陷入了死循环,问题应该出现在这句上:while ($0 == "") getline ,getline这个命令是不是不会判断已经到了文件的结尾,也就是说到了文件的最后一行,如果没有给出任何触发,它会一直getline最后一行,这也就陷入了死循环,这也就找到了10楼程序为什么没有任何输出的原因,因为END{}模式之前已经陷入了死循环,该模式中的语句根本没有执行.
我对getline的用法不了解,不知道在Johnny_jiang兄的机器上运行有没有和我一样的毛病,如果没有那就是我的shell有问题了.请Johnny_jiang指点一下. |
|