问题现象:
某客户反馈在执行脚本的时候文件夹显示存在问题,如下图:
但是脚本文件中的内容并没有\r字符,如下图:
也有客户反馈如下:
问题分析:
$'\r’是回车符的转义表示。在Unix和Linux系统中,回车符是一个不可见的控制字符,它通常用于文本文件中的行结尾。以上报错原因都是Linux和windows下的回车换行符不兼容导致的问题。
解决方法:
方法一:在windows系统可以用文本编辑器查看所有字符,例如notepad++,编辑->档案格式转换->转换为UNIX格式
方法二:在Linux系统上进入到文件所在目录输入命令
sed -ibak ‘s/\r//’ 文件名
命令的具体含义如下:
sed命令可以用于处理文本文件,
-ibak表示直接修改读取的文件内容,而不是输出到终端,并且备份成b