【分享】Linux平台服务读取文件时诡异现象
2014-07-18 17:59
357 查看
SVN用来进行源码管理时,有时也可能在window下进行了配置文件的更改提交,而在Linux平台下运行该服务,我之前遇到过此类情况,就会出现诡异现象:
此服务读取配置文件后并不是监听配置中间中所定义的端口,而是随机的一个端口,后经GDB查看发现读取配置文件时每个配置项后面都跟着一个字符“\r”,现在你就能意识到该配置文件包含了window的断元字符“^M”,需要去除该字符才能是你的程序正常运行。
若你的配置文件为sys.cfg,查看该文件是否包含此字符,使用命令:cat -A sys.cfg 即可呈现出来,可使用如下方法去除:
1、使用命令
cat sys.cfg | tr -d "\r"
得到去除之后的配置内容,将结果重定向到你需要的配置文件即可
2、使用命令
dos2unix sys.cfg
该命令会直接将文件转化为unix格式
还有其它的方法,不过我比较喜欢用以上2个方法解决问题,谨与大家分享
此服务读取配置文件后并不是监听配置中间中所定义的端口,而是随机的一个端口,后经GDB查看发现读取配置文件时每个配置项后面都跟着一个字符“\r”,现在你就能意识到该配置文件包含了window的断元字符“^M”,需要去除该字符才能是你的程序正常运行。
若你的配置文件为sys.cfg,查看该文件是否包含此字符,使用命令:cat -A sys.cfg 即可呈现出来,可使用如下方法去除:
1、使用命令
cat sys.cfg | tr -d "\r"
得到去除之后的配置内容,将结果重定向到你需要的配置文件即可
2、使用命令
dos2unix sys.cfg
该命令会直接将文件转化为unix格式
还有其它的方法,不过我比较喜欢用以上2个方法解决问题,谨与大家分享
相关文章推荐
- 分享一个linux下的C程序读取配置文件的方法
- ruby 读取文件line.dump引起的文章显示的诡异现象
- 用C读取INI配置文件 (可在linux平台上用)
- [ZT]MySql-front连接LINUX平台的MySQL服务
- 在linux平台上创建超小的ELF可执行文件
- 国家软件产业公共服务平台 MII-HP Linux软件实验室正式启用
- Linux平台Makefile文件的编写基础篇
- UNIX/LINUX 平台可执行文件格式分析
- UNIX/LINUX 平台可执行文件格式分析
- 在linux平台上创建超小的ELF可执行文件
- linux平台中java程序文件编码错误一例
- Linux学习笔记——文件服务之NFS
- [Linux]配置Linux平台的网络服务
- Linux读取文件的哦内存
- 在Linux/Unix平台下压缩和解压缩.rar文件
- Linux网络服务配置文件详解
- Intel平台下linux中 ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载
- Intel平台下Linux中 ELF文件动态链接的加载、解析及实例分析(一): 加载
- 在linux平台上创建超小的ELF可执行文件
- Linux平台下阅读CHM文件的简易方法