刚刚抄了一个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