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个方法解决问题,谨与大家分享