Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > dos和unix换行符的转换--俺又被这无形字符害了一把
【标  题】:dos和unix换行符的转换--俺又被这无形字符害了一把
【关键字】:dos,unix,--
【来  源】:http://blog.csdn.net/noizz/archive/2007/03/04/1520591.aspx

dos和unix换行符的转换--俺又被这无形字符害了一把

Your Ad Here

这几天在做系统自动发布的事情,其中用到了shell脚本。真是够郁闷的,本来跑得好好的脚本,在我加了一段配置后跑不起来了。

我先是写了一段脚本来读取配置文件。
配置文件和ant的properties文件格式一样,很简单形如:
user=abc
host=myhost

配置文件getconfig.sh,读取参数1的配置选项,是这么写的:
FILE_ENV_PROP="myproject.prop"
echo `grep ^$1= $FILE_ENV_PROP | awk -F = '{print $2}'`
就是读取文件中以配置项开头,等号以后的部分。

加了一段配置后死或跑不起来,原来一直有的。本来一直以为是getconfig.sh的原因,因为刚好我改过一点。后来怀疑是不是shell的解释器被人给改了,还是找不出原因。终于在另外一台机器上看到了原来的脚本,是可以跑通过的。ftp过来以后还是跑不起来,最后才发现,是配置文件不一样。原来我增加配置项时是在windows改的,每个行后面是多了一点东西的,但是在linux下看不出来,用vi和more都是看不到(这个和solaris不一样啊,solaris的vi是可以看到一个^M符号的)。所以我也一直没在意,被以前的solaris经验忽悠了。用ultraedit的16进制方式可以很明显地看出来:windows的换行是0D0A,unix的换行只有0A。

这样的事情以前也碰过,怎么还是会再犯呢?看来要避免还是挺难的。只有凭经验了,而且要养成如果是linux类型的系统,坚持只使用vi编辑文本。

----------------------以下20070307添加-------------------------------------------

那怎么把dos格式转成unix格式呢?我以前的经验是用ultraedit,在“文件-转换”菜单里有一个这样的工具。但是这次我没成功,一查网上提供了两个方法:
1)利用vi,在vi上打:set ff?,可以显示当前的类型。打:set ff=unix,就可以转换行符号为unix类型;打:set ff=dos那就是dos类型,ff也就是fileformat的意思,把ff写全名fileformat也是可以的。
2)利用sed,执行sed s/^M//g file1 > file2 ,也可以转。但是要注意^M是先按住ctrl-v在按m打出来的。不是字符串^M。

出现更有意思的情况。cvs这个王八羔子,我好不容易把dos转成unix格式,但是一提交到cvsserver,再从别的机器下载下来,换行符号又变回去了。而且,cvs是不区别这两种换行符的。大概是因为服务器使用cvsnt的关系,又或者是在取文件时转的。

最后我采取了一个蹩脚的做法,在每次取下文件后,用sed转换一次。

断点续传控制台版本:【上一篇】
Linux系统安装初始化:【下一篇】
【相关文章】
  • 读书笔记(三)项目计划阶段(1--合同签定后计划开始制订前)
  • MSSQL中UNIX时间的转换问题
  • Oracle中动态建表--学习笔记
  • java学习笔记---String类
  • linux 系统管理之入门-----安装
  • 从SNMP到WBEM--论网络和系统管理的发展和展望(SNMP篇)
  • 工作日志(2007.3.1--2) --GRAPPLE开发方法学的练习
  • Linux(Unix)下Oracle数据库访问接口程序OCI (Oracle Call Interface)
  • SQL技巧:如何调用SQL中的函数 附简单实例---一看就懂
  • ADO打开指针类型研究(一)--CursorType Property (ADO)
  • 【随机文章】
  • 在.Net中关于AOP的实现
  • 在 Eclipse 中运行带参数的 Java 程序
  • MIDP设计模式之集结贴[JavaME]
  • PM先进入那个想分离的?景然后打开菜
  • 《个人电脑的安全防范》课程介绍
  • 程序开发手册
  • windows下 route命令详解
  • Flash MX 新特性详解(六)
  • 即能够提供领先安全技术
  • 一段模拟按键查找文件的JS
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.