UNIX下大小为1byte的文件——都是换行符(EOL)惹得祸
来源:互联网 发布:三国志12网络对战 编辑:程序博客网 时间:2024/05/16 08:49
某同事用tcl和ksh写了一个程序,利用进行某项操作,如有错误就将错误信息写入某个文件中,写入方法是 2>$stderr,然后判断该文件的大小,如果大于0,则认为有错误发生,报错。
奇怪的是该程序一直不能成功执行,一直报错。同事逐行追踪他的代码,结果发现文件$stderr刚创建时大小为0,可过一会之后自己就会变成1byte. 然而打开查看时,该文件内容却是空的。后来用vi按照16进制打开(:%!xxd),发现了0a。
0x0a是UNIX下默认的行结束符(EOL),每行都会有的。我们试验了一下,凡是用print在UNIX下创建一个文件:
其中$test为未定义的变量,则会生成一个大小为1byte的文件。打开文件,也能发现0a的存在。
可是如果是用C语言编写一个文件操作的函数,却能得到一个大小为0而打开后也有0a的文件。很是奇怪……
- UNIX下大小为1byte的文件——都是换行符(EOL)惹得祸
- dos2unix将windows下的换行符转换为unix的换行符
- 都是CSS惹得的祸
- [Eclipse]已经写好的代码怎样切换为unix下的换行符?
- visual studio 2005 保存文件很慢的问题,都是vss惹得祸
- 都是索引惹得祸
- 都是缓存惹得祸
- 都是MAC惹得祸!!
- 都是自动更新惹得祸
- 都是缓存惹得祸
- 都是缓存惹得祸
- 都是大雾惹得祸
- 都是大雾惹得祸
- 都是“引用”惹得祸!
- 都是Semaphore惹得祸
- 都是积分惹得祸
- 都是编译器惹得祸
- 都是“世界杯”惹得祸
- JForum研究二
- HTML 常用标签
- 解题报告1579
- 来自影视中的警言:What a lie is when we see it.
- JQuery 浮动导航栏
- UNIX下大小为1byte的文件——都是换行符(EOL)惹得祸
- 如何在Oracle中复制表结构和表数据
- struts2 一些遍历取值标签
- activeMQ指南针_Queue完整分析
- 三维软件开发笔记---数据填充及色标完成
- .net 用OleDb方式 操作 excel 比较完整的解决方案
- 木马冰河作者——glacier
- ssh学习笔记(2)
- bzero & memset置零的性能比较