Linux dos2unix命令

问题现象:有时候将windows系统中svn上的shell脚本上传到Linux服务器上之后执行会遇到报错-bash,没有文件或目录。

问题原因:Linux系统和Windows系统中换行符不同。此时vi文件可以发现有的行后面会有^M字符出现。

解决方法有两种:

1.vi文件并:%s/^M//g去掉所有^M字符;(也可以考虑sed -i)

2.dos2unix 文件;

推荐第二种,因为有时候需要对所有的都执行,比如find -name "*.sh" |xargs dos2unix 


原理:dos2unix命令,实际上就是将windows编辑的文件中的0d0a(’\r\n’)换行符转换为linux中的0a(’\n’)


关于dos2unix命令的详细用法,请参考http://blog.sina.com.cn/s/blog_7226f3660100uipz.html;

关于换行的事,可以参考http://blog.csdn.net/wjcquking/article/details/6634504,有一些笔误,无视吧,看第一段历史就行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值