如果我们是在windows上编辑的shell文件,上传到linux上,执行的时候可能会出现一些莫名
其妙的问题,其原因是在windows上编辑的文件每一行的结尾会有一个回车换行符(十六进制代码
为0d0a),而在linux上的文件换行符为0a,0d会莫名其妙的变成一个^M非可见字符。而这个字符
会被shell文件读到,影响命令的正常执行。
所以,当我们的linux上的shell文件出现奇怪的问题时我们不妨使用命令cat -A filename来
看一下文件中行结尾是不是有^M这个东西,如果有需要把它处理掉。处理办法有如下两个:
1、使用命令cat filename | col > newfile 注意这个命令不支持汉字,如果filename文件
中有汉字的话转换将出现问题。即使汉字是出现在注释中也不行。
2、使用dos2unix filename 命令转换。
shell脚本格式转换问题
最新推荐文章于 2023-03-28 17:37:32 发布