最新消息:本站所有跳转向bbs.ykit.cn的附件将全面停止,附件已转移到https://www.qingsj.com

Centos安装dos2unix

Linux经验 有客 843浏览

刚刚抄了一个Ftp自动下载的shell脚本,放到Centos系统上运行居然出错;
反复检查脚本,没找出错误所在,认真到标点符号都仔细看了;
好吧,看来这已经超出了我的能力范畴,去SegmentFault提问吧;
把我的详细代码及操作命令及失败截图也一并附上附上,毕竟提供的资料越多,别人也能尽可能准确的知道问题出在哪里;
果然很快就有人告诉了我,原来问题出在了shell编码上面,什么都是对的就编码存在问题而导致的错误;
在win下编的shell在Unix上由于编码差异从而导致出错;

通过Dos2unix自动转换编码就能让其正常运行

yum install dos2unix unix2dos

安装完成后, 先执行 dos2unix ./test.sh将编码转换过来;
然后再正常运行 ./test.sh 就一切正常;

Dos2unix使用实例

选项与参数:

-k :保留该档案原本的 mtime 时间格式 (不更新档案上次内容经过修订的时间)
-n :保留原本的旧档,将转换后的内容输出到新档案,如: dos2unix -n old new
实例:

1.都一个文件进行从dos转换为unix格式,在unix系统下,转换后可以通过file 文件名来查看转换后的文件格式。
格式:dos2unix file

2.一次性转换多个文件的格式:
格式:dos2unix file1 file2 file3

3.上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用-n参数。
格式:dos2unix -n oldfile newfile

4.如果要保持文件时间戳不变,加上-k参数。所以上面几条命令都是可以加上-k参数来保持文件时间戳的。
格式:dos2unix -k file
格式:dos2unix -k file1 file2 file3

转载请注明:有客帮 » Centos安装dos2unix