诡异的shell脚本错误

今天为了方便拨号,改了改以前写的拨号脚本,没想到遇到了一个问题:使用awk分析一个文本文件时总会在我截取的第二个字段后多加一个^M(也就是r)。很自然的想到vim打开这个文本文件确认这个文件原本是否有没有“^M”,很奇怪vim里面这个文件行末没有这个东西。又和王聪在一起研究了半天我写的这个awk脚本,还试着用head+tail+cut把脚本重写了一遍,结果问题仍然存在。这时我不得不怀疑这个文本文件是不是有问题,不放心刚才看过一遍,又打开看了一次,仍然没有发现任何异常,在我们束手无策的时候突然注意到了在打开这个文本文件时vim左下脚闪了一下”dos”这几个字符,这时我们才恍然大悟,原来是眼睛欺骗了我们,vim把这个文本文件按照dos(windows)下文本进行了显示,所以^M是合法的换行,没有被显示出来。

眼睛看到的东西未必是可信的!

Comments

kongove: 在你博客边框里,订阅博客那里有乱码。 我用的是Ubuntu7.10+Firefox 2.0.0.11 应该是注释问题

cocobear: 脚本可以参考我以前写的ppp那个,没什么特别之处,只是换了个方式,所以这个就不贴了:-)

Amankwah: 唉~我在wangcong博客上对此已有评论~

dream: 你其实可以用cat -v filename 来看的:)

草儿: 眼见不一定为实,耳听也不一定为虚啊~

swordofchina: 可以把你的拨号脚本贴出来吗? 作一下参考

坚持原创技术分享,您的支持将鼓励我继续创作!